1 메모리 할당. 

    int* pArray = new int[4]{0,1,2,3,4};

  

2. 클래스 배열 멤버 생성자에서 초기화.

   class MyClass
   {   
      public:
         MyClass() : mArray{0, 1, 2, 3} {}
      private:
          int mArray[4];
};   

   

3. 복사로 초기화 vs 직접 리스트 초기화. 

   1.   Copy list initialization. T obj = {arg1, arg2, ...};

   2.   Direct list initialization. T obj {arg1, arg2, ...};

 

 

'C++ > C++ 11 14 17' 카테고리의 다른 글

shared_from_this(), weak_from_this()  (0) 2019.05.31
C++17, structure binding, if(init; condition) switch(init;condition)  (0) 2018.04.18
C++ 11 ENUM  (0) 2018.04.11
auto keyword  (0) 2018.04.05
Aggregate and POD  (0) 2018.04.04

C++ 17에서 weak_from_this() 항목이 추가되었다.

 

예제) s

class Foo : public enable_shared_from_this<Foo>
{
public:
   shared_ptr<Foo> getPointer() 

   {
       return shared_from_this();
   }

  weak_ptr<Foo> GetWeakPointer()

  {  

        return weak_from_this();  

  }
};
int main()
{
   auto ptr1 = make_shared();
   auto ptr2 = ptr1->getPointer();
}

 

'C++ > C++ 11 14 17' 카테고리의 다른 글

Uniform Intialzation. - 사용예제  (0) 2019.06.25
C++17, structure binding, if(init; condition) switch(init;condition)  (0) 2018.04.18
C++ 11 ENUM  (0) 2018.04.11
auto keyword  (0) 2018.04.05
Aggregate and POD  (0) 2018.04.04

1. Avoid Combining unrelated or Logically Separate Concepts.

   - 하나의 클래스는 관련 기능 혹은 하나의 기능만을 책임지게 하고, 상관없는 관련 기능들을 포함시키지 않음.

 

'설계 > 객체지향설계' 카테고리의 다른 글

SOLID - 개발 원칙.  (0) 2017.01.30
캡슐화.  (0) 2017.01.26

+ Recent posts