Когда я запускаю метод типа bool в c++ с оператором return следующим образом:
bool method() {
return true;
}
на консоли нет выхода. Чтобы получить результат, я должен сделать:
bool method() {
cout << "true";
return true;
}
Правильно ли это?
Эта программа скомпилирована и выполнена успешно и выводит 1, что является значением true.
#include <iostream>
bool method() {
return true;
}
int main()
{
std::cout << method() << std::endl;
}
Если вы хотите, чтобы вместо 1 была буквальная истина, вы можете написать
#include <iostream>
#include <iomanip>
bool method() {
return true;
}
int main()
{
std::cout << std::boolalpha << method() << std::endl;
}
Проблема может быть также в том, что ваша программа после выполнения закрывает окно, и у вас нет времени, чтобы увидеть результат. Вы должны вставить в конец программы инструкцию ввода, которая будет ждать, пока вы что-то не введете.
C++ не является интерпретированным языком, как python, его скомпилированным языком. Таким образом, вы не записываете вызов функции на интерпретаторе и печатаете результат. Вы компилируете свою программу и выполняете ее позже. Поэтому, если вам нужно вывести что-то на консоль в своей программе, вам нужно написать инструкцию для этого (например, std::cout <<
делает).
Обычно рекомендуется отделить логику вашей программы от ее входной/выходной части. Таким образом, вы можете изменить логику, не меняя дисплей, и наоборот.
Примером этого может быть (я сделал это немного менее тривиальным):
int operation(int a, int b) {
return a + b;
}
void process() {
int a, b;
std::cin >> a >> b;
std::cout << operation(a, b);
}
Это следует соблюдать даже на языках, которые непосредственно печатают вывод выполненной функции (но это часто не для "простоты" в примерах программ). Это имеет огромное значение при разработке более крупных систем.
Вы можете узнать больше об этом с помощью googling "Model-View-Controller" или просто "отделить логику от IO".
Чтобы перейти к вашему конкретному примеру, вы создали функцию, которая отличается "логикой", и это хорошо. Вы можете добавить выражение о печати внутри, но обычно лучше, чтобы отделить проблемы.