diff --git a/ex02/.gitignore b/ex02/.gitignore new file mode 100644 index 0000000..03169ab --- /dev/null +++ b/ex02/.gitignore @@ -0,0 +1 @@ +ex02 diff --git a/ex02/Makefile b/ex02/Makefile new file mode 100644 index 0000000..0a7b2bb --- /dev/null +++ b/ex02/Makefile @@ -0,0 +1,38 @@ +NAME = ex02 +ifeq ($(CPPFLAGS),) + CPPFLAGS = -Wall -Wextra -Werror -std=c++98 -g +endif +ifeq ($(CXX),) + CXX = c++ +endif +# g++ is the default on 42 computers +ifeq ($(CXX),g++) + CXX = c++ +endif +srcs = \ + +main_objs = main.o $(srcs:.cpp=.o) +all_objs = $(main_objs) +deps = $(all_objs:.o=.d) + +all: $(NAME) + +-include $(deps) + +$(NAME): $(main_objs) + $(CXX) $(CPPFLAGS) -o $@ $^ + +%.o: %.cpp + $(CXX) -c $(CPPFLAGS) -o $*.o $*.cpp + $(CXX) -MM $(CPPFLAGS) -MT $*.o $*.cpp > $*.d + +clean: + find . -name '*.o' -print -delete + find . -name '*.d' -print -delete + +fclean: clean + rm -f $(NAME) + +re: + +make fclean + +make all diff --git a/ex02/main.cpp b/ex02/main.cpp new file mode 100644 index 0000000..ff727ab --- /dev/null +++ b/ex02/main.cpp @@ -0,0 +1,14 @@ +#include + +int main(void) { + std::string string = "HI THIS IS BRAIN"; + std::string *stringPTR = &string; + std::string &stringREF = string; + std::cout << "address of string: " << &string << std::endl; + std::cout << "address held by stringPTR: " << stringPTR << std::endl; + std::cout << "address held by stringREF: " << &stringREF << std::endl; + std::cout << "value of string: " << string << std::endl; + std::cout << "value pointed by stringPTR: " << *stringPTR << std::endl; + std::cout << "value pointed by stringREF: " << stringREF << std::endl; + return 0; +}