Size: a a a

Compiler Development

2020 January 10

M

MaxGraey in Compiler Development
Для некоторых скомпилировать printf("hello world") это уже выучить / знать C++
источник

AT

Alexander Tchitchigin in Compiler Development
MaxGraey
Для некоторых скомпилировать printf("hello world") это уже выучить / знать C++
Ну, помилуйте, C++ - это
cout << "hello, world" << endl;

😂
источник

M

MaxGraey in Compiler Development
Alexander Tchitchigin
Ну, помилуйте, C++ - это
cout << "hello, world" << endl;

😂
use namespace std;
забыл)
источник

M

MaxGraey in Compiler Development
И вообще то это плохая практика
источник

AT

Alexander Tchitchigin in Compiler Development
MaxGraey
use namespace std;
забыл)
А ничего, что хотя бы void main(void) ни там, ни там нет? 😉
источник

M

MaxGraey in Compiler Development
Alexander Tchitchigin
Ну, помилуйте, C++ - это
cout << "hello, world" << endl;

😂
Вообще с такой записью можно выстрелить себе в ногу, например забыв сделать std::endl (и без std::flush) перед выходом из main и даже не увидеть hello world в выводе =)
источник

KR

K R in Compiler Development
MaxGraey
Вообще с такой записью можно выстрелить себе в ногу, например забыв сделать std::endl (и без std::flush) перед выходом из main и даже не увидеть hello world в выводе =)
Ну С++ делали всё-таки умные люди. Всё нормально пишется.
источник

TS

Timur Safin in Compiler Development
MaxGraey
Вообще с такой записью можно выстрелить себе в ногу, например забыв сделать std::endl (и без std::flush) перед выходом из main и даже не увидеть hello world в выводе =)
в большинстве случае выдача '\n' прочистит буфер (т.к. он line-buffered), и endl не нужен
источник

M

MaxGraey in Compiler Development
K R
Ну С++ делали всё-таки умные люди. Всё нормально пишется.
очень сильно зависит от реализации стримов и версии libcxx
источник

KR

K R in Compiler Development
Если библиотека не использует RAII для сбрасывания буферов - это плохая библиотека.
источник

KR

K R in Compiler Development
Там перед каждым закрытием файла надо flush делать?
источник

AT

Alexander Tchitchigin in Compiler Development
K R
Там перед каждым закрытием файла надо flush делать?
Закрытие файла сбрасывает буферы. То-то и оно, что stdout никто не закрывает.
источник

BD

Berkus Decker in Compiler Development
Alexander Tchitchigin
А ничего, что хотя бы void main(void) ни там, ни там нет? 😉
int main() для с++ конечно же
источник

AT

Alexander Tchitchigin in Compiler Development
Berkus Decker
int main() для с++ конечно же
А точно не наоборот?
источник

AT

Alexander Tchitchigin in Compiler Development
int main() is perfectly valid in C89. А вот насчёт всех последующих я сильно не уверен...
источник

KR

K R in Compiler Development
Буферы потока отдельны от API OS. Их тоже надо сбрасывать, что нормальные люди делают в деструкторе или призакрытии потока.
источник

BD

Berkus Decker in Compiler Development
Alexander Tchitchigin
А точно не наоборот?
источник

BD

Berkus Decker in Compiler Development
В годболте проверь
источник

AT

Alexander Tchitchigin in Compiler Development
Berkus Decker
В годболте проверь
А смысл? Там же есть escape hatch /* any other implementation-defined form */. 🤷‍♀️
источник

BD

Berkus Decker in Compiler Development
Alexander Tchitchigin
А смысл? Там же есть escape hatch /* any other implementation-defined form */. 🤷‍♀️
Ругается что main должен возвращать инт
источник