본문 바로가기

분류 전체보기

(127)
[C++] 객체잘림과 reference_wrapper 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요 ;) 이번 포스팅에서는 클래스 상속과 관련해서 객체 잘림이라는 현상과 reference_wrapper에 대해 알아보겠습니다. 클래스의 상속 구조에서 자식 클래스는 부모 클래스보다 많은 멤버를 가질 수 있습니다. 함수의 경우 오버 라이딩을 통해 부모 클래스의 함수를 자식 클래스에 맞추어 변경할 수도 있고요. #include #include #include using namespace std; class Base { public: int m_i = 0; virtual void print()// 자식 클래스에서의 다형성을 위해 virtual 선언 { cout
[C++] std::string에서 문자 접근하기와 배열로의 변환 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요 ;) 이번 포스팅에서는 string 자료형의 문자열에서 각각의 문자에 접근하는 방법과, string 자료형의 문자열을 C 스타일의 배열로 변환하는 방법을 알아보겠습니다. #include #include #include using namespace std; int main() { string my_str("abcdefg"); cout
[C++] std::string의 길이와 용량 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요 ;) 이번 포스팅에서는 std::string의 길이와 용량에 대해 다뤄보겠습니다. #include #include using namespace std; int main() { string my_str("012345678"); cout
[C++] std::string의 여러가지 생성자들과 형변환 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요 ;) 이번 포스팅에서는 std::string을 사용하는 생성자와, 다른 자료형과 string의 형변환에 대해 다뤄보겠습니다. #include #include #include int main() { std::string my_string;// default 생성자 std::string my_string2("MY STRING");// 값을 주는 생성자 std::string my_string3(my_string2);// 복사 생성자 std::cout
[C++] std::string과 std::wstring 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요 ;) 보통 프로그램을 만들 때 많이 필요한 기능은 바로 문자열을 입력받거나 가져오는 기능입니다. 이번 포스팅에서는 C++ 언어에서 문자열을 사용하는 std::string과 std::wstring에 대해 알아보겠습니다. . . using string = basic_string; using wstring = basic_string; . . visual studio의 기능 중 go to definition을 통해 std::string과 std::wstring을 관찰?하면 위와 같은 코드를 볼 수 있습니다. 코드의 모든 의미를 알 수는 없지만, basic_string이라는 클래스에 각각 다른 char과 wchar_t라는 자료형으로 템플리..
[C++] 순환 의존성 문제와 weak_ptr 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요 ;) 이번 포스팅에서는 스마트 포인터를 사용할 때 발생할 수 있는 순환 의존성 문제와 이를 해결할 수 있는 weak_ptr에 대해 알아보겠습니다. #include #include #include class Person { private: std::string m_name; std::shared_ptr m_partner; public: Person(const std::string& name) : m_name(name) {std::cout
[C++] std::shared_ptr 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요 ;) 이번 포스팅에서는 unique_ptr과 달리, 하나의 주소 값에 대해 여러 변수가 소유하고 관리할 수 있는 std::shared_ptr에 대해 알아보겠습니다. shared_ptr의 대표적 특징은 다음과 같은 두 가지 입니다. 1. shared_ptr이 선언된 스코프(혹은 블록)가 끝나면 delete 선언을 하지 않아도 스스로 소멸된다. 2. 몇 개의 변수에서 shared_ptr로 할당된 주소 값을 소유하고 다루고 있는지 알려준다. 예제 코드를 통해 shared_ptr의 특징에 대해 더 자세히 알아보겠습니다. #include #include "Resource.h" using namespace std; int main() { R..
[C++] std::unique_ptr(2) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요 ;) 2019/12/02 - [프로그래밍/C++] - [C++] std::unique_ptr(1) [C++] std::unique_ptr(1) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요 ;) 2019/11/15 - [프로그래밍/C++] - [C++] std::move(1) [C++] std::move(1) 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하.. movahws.tistory.com 이 글은 이전 포스팅과 연결됩니다. void doSomething2(std::unique_ptr &res) { res->setAll(10); } int main() { auto res1 = std::mak..