나는 이와 같은 코드를 보았 기 때문에 그 이유를 찾으려고합니다.
실제 생성자가있는 대신 생성자로 작동하는 정적 함수가있는 주된 이유는 무엇입니까?클래스 구성을위한 정적 함수의 이점
class MyClass
{
public:
static MyClass CreateFrom(bar);
static MyClass CreateFrom(foo);
...
}
대신 : 그들은 Named Constructors
라고
class MyClass
{
public:
MyClass(bar);
MyClass(foo);
...
}
예를 들어, 'Duration' 클래스에서 사용했습니다 :'Duration :: Days','Duration :: Hours','Duration :: Minutes' ... 모두 같은 인수를 취합니다. 그것이받을 때 단위가 무엇이어야하는지 명확하게합니다. –
enable_shared_from_this를 사용할 때도 유용합니다. http://mortoray.com/2013/08/02/safely-using-enable_shared_from_this/ –