Моя цель — стараться изо всех сил следовать основным рекомендациям C++, работая над тем, чтобы избегать ошибок, повышать производительность и, самое главное, улучшать удобство сопровождения моего кода.
Я сталкивался с буквально сотнями проблем, начиная от неправильных версий g++/Clang++ и неспособности найти стандартные библиотеки до использования g++ неправильной версии C++ для компиляции и заканчивая очень простыми функциями, которые не ведет себя так, как ожидалось - а я даже не начал изучать автоинструменты, поэтому ожидаю, что последует еще много головной боли.
Этот вопрос Однако это относится только к одной части C++ Core Guidelines. Интерфейсы 6: Предпочитаю Expects() для выражения предварительных условий
Я попробовал написать следующий простой код:
Код: Выделить всё
#include
using namespace std;
int square(int x) {
Expects(x > 0);
return x * x;
}
int main() {
cout 0);
^~~~~~~
-> [1]
Код: Выделить всё
$> clang++ -x c++ main.cpp
main.cpp:1:10: fatal error: 'iostream' file not found
#include
^~~~~~~~~~
1 error generated.
-> [1]
Подробнее здесь: https://stackoverflow.com/questions/545 ... s-operator
Мобильная версия