Size: a a a

2ch /pr/ #staythefuckhome

2020 March 31

NK

ID:1008643686 in 2ch /pr/ #staythefuckhome
в чем проблема
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄 in 2ch /pr/ #staythefuckhome
ID:1008643686
в чем проблема
В том, что конструктор удален, а он создает его все равно
источник

NK

ID:1008643686 in 2ch /pr/ #staythefuckhome
но ты же создаешь объект не через конструктор а через initializer
источник

NK

ID:1008643686 in 2ch /pr/ #staythefuckhome
X x; не получится
источник

BT

Bayram Tagiev in 2ch /pr/ #staythefuckhome
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
В том, что конструктор удален, а он создает его все равно
А разве ты можешь удалить конструктор в самом конструкторе
источник

BT

Bayram Tagiev in 2ch /pr/ #staythefuckhome
?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄 in 2ch /pr/ #staythefuckhome
ID:1008643686
но ты же создаешь объект не через конструктор а через initializer
А разве стандарт не гарантирует что при {} у тебя вызовется дефолтный конструктор?
источник

NK

ID:1008643686 in 2ch /pr/ #staythefuckhome
Bayram Tagiev
А разве ты можешь удалить конструктор в самом конструкторе
это compile time
источник

BT

Bayram Tagiev in 2ch /pr/ #staythefuckhome
ну я хз в вашем спп
источник

BT

Bayram Tagiev in 2ch /pr/ #staythefuckhome
Не шарю
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄 in 2ch /pr/ #staythefuckhome
ID:1008643686
X x; не получится
Это не получится
источник

NK

ID:1008643686 in 2ch /pr/ #staythefuckhome
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
А разве стандарт не гарантирует что при {} у тебя вызовется дефолтный конструктор?
не знаю, надо почитать формулировку, но вроде он вызовется если он задан, а если не задан то и не вызовется
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄 in 2ch /pr/ #staythefuckhome
ID:1008643686
не знаю, надо почитать формулировку, но вроде он вызовется если он задан, а если не задан то и не вызовется
#include <iostream>

struct X {
void print() {
 std::cout << "HELLOO!";
}
private:
X() {}
};

int main() {
X x{};
x.print();
}
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄 in 2ch /pr/ #staythefuckhome
А так уже не работает
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄 in 2ch /pr/ #staythefuckhome
ID:1008643686
не знаю, надо почитать формулировку, но вроде он вызовется если он задан, а если не задан то и не вызовется
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1008r1.pdf Ну тип я это почитал и прихуел
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄 in 2ch /pr/ #staythefuckhome
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
А так уже не работает
И нахуя тогда вводили = delete спрашивается
источник

NK

ID:1008643686 in 2ch /pr/ #staythefuckhome
struct X {
 private:
   X() = default;
 };
int main() {
 X x1; // ill-formed - default c’tor is private
 X x2{}; // compiles!
}

ладно вот это уже жестче конечно
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄 in 2ch /pr/ #staythefuckhome
ID:1008643686
struct X {
 private:
   X() = default;
 };
int main() {
 X x1; // ill-formed - default c’tor is private
 X x2{}; // compiles!
}

ладно вот это уже жестче конечно
Ну прикол в том, что если у конструктора тела нет, то он игнорит тупо
источник

tb

thunder bolt in 2ch /pr/ #staythefuckhome
Language:
cpp


Source:
int main(){return 0;}


Note:
cplusplus_gcc assumed, other valid options are cplusplus_clang, visual_cplusplus, you can be more specific next time.
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄 in 2ch /pr/ #staythefuckhome
ID:1008643686
struct X {
 private:
   X() = default;
 };
int main() {
 X x1; // ill-formed - default c’tor is private
 X x2{}; // compiles!
}

ладно вот это уже жестче конечно
Ну это дичь же
источник