From 8f7b9c3068edb24be6756ceed50aa53b268326ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kha=C3=AFs=20COLIN?= Date: Mon, 12 May 2025 13:09:10 +0200 Subject: [PATCH] feat(ex02): it works --- ex02/.gitignore | 1 + ex02/Makefile | 38 ++++++++++++++++++++++++++++++++++++++ ex02/main.cpp | 14 ++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 ex02/.gitignore create mode 100644 ex02/Makefile create mode 100644 ex02/main.cpp 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; +}