Я знаю, что структура и класс в С++ очень похожи, и члены структуры по умолчанию имеют общий доступ, а члены класса имеют частный доступ и т. д. и т. д.
Однако, поскольку экземпляры структуры могут быть инициализированы следующим образом:
struct MyStruct{
int a;
int b;
int c;
};
MyStruct s1 = {1, 2, 3}; //a=1, b=2, c=3
MyStruct s2 = {}; //a=0, b=0, c=0
Безопасно ли делать то же самое для классов в C++? Например:
class MyClass{
int a;
int b;
int c;
};
MyClass c1 = {1, 2, 3}; //a=1, b=2, c=3
MyClass c2 = {}; //a=0, b=0, c=0
Вопрос: я знаю, что мы можем использовать конструктор(ы), есть ли какие-либо подводные камни, о которых я должен знать, если я инициализирую экземпляр класса, как экземпляры структуры? Является ли это безопасной операцией, если я использую этот подход для инициализации членов данных их значениями по умолчанию (например, 0 для int и null для указателей)?