Tôi đã thấy mã như thế này, vì vậy tôi đang cố gắng tìm ra lý do.
Lý do chính để có các hàm tĩnh hoạt động như các hàm tạo, thay vì có các hàm tạo thực tế là gì?Lợi ích của các chức năng tĩnh cho các công trình lớp học
Ý tôi là cái gì đó như:
class MyClass
{
public:
static MyClass CreateFrom(bar);
static MyClass CreateFrom(foo);
...
}
thay vì:
class MyClass
{
public:
MyClass(bar);
MyClass(foo);
...
}
Ví dụ cụ thể, tôi đã sử dụng nó trong một lớp 'Thời lượng':' Thời lượng :: Ngày', 'Thời lượng :: Giờ',' Thời lượng :: Phút '... tất cả lấy cùng một đối số và làm cho nó rõ ràng những gì đơn vị của nó nên được khi nhận được. –
Cũng hữu ích khi sử dụng 'enable_shared_from_this'. http://mortoray.com/2013/08/02/safely-using-enable_shared_from_this/ –