1) если функция имеет к примеру возврат строки "12345"
можно ли ее вызвать без последствии на будущее без контейнера переменной?
например
function asd () {
...
...
return "12345";
}
asd();
или нужно
string itsvoid;
itsvoid= asd();
понимаю, что работает и так и так, но хотелось бы понять как правильно. когда программа большая, отлавливать ошибки очень сложно
2) функция имеет несколько возвратов
function () {
if .... return;
if ... retrun;
if .. return 1;
}
можно ли выводить в пустоту, когда есть вывод другого типа переменной
или нужно все сделать одним типом
3) function () {
if .. retrun;
if .. return;
// return; // пропущен
}
здесь нет 100 вывода результата, на с++ такое компилятор не пропускает, в киборе что происходит?
1. Redear - 04 Мая, 2024 - 03:48:48 - перейти к сообщению
2. petyanka - 05 Мая, 2024 - 06:13:11 - перейти к сообщению
Я не эксперт и могу ошибаться, но как мне кажется.
1) itsvoid= asd(); // в этом варианте каждый раз будет вызываться функция при использовании переменной.
Я бы использовал это без переменной вот так:
if (asd()=="12345" )messagebox("Да" );
2) Если вы сравниваете, то при обычном return, он не будет ничего возвращать, и условие не сработает, я с этим много шишек набил. Если вы сравниваете ответ как тут -> if (asd()=="12345" )messagebox("Да" ); То бессмысленно делать возврат без значения.
3) if .. // return; // пропущен --- тут я думаю рано или поздно кибор выдаст ошибку ибо нет ; или {} после сравнения.
Не уверен нужна ли ; после } ,но я каждый раз их ставлю кроме случаев, когда нужно выполнить else вот так:
if (..) {} else {};
1) itsvoid= asd(); // в этом варианте каждый раз будет вызываться функция при использовании переменной.
Я бы использовал это без переменной вот так:
if (asd()=="12345" )messagebox("Да" );
2) Если вы сравниваете, то при обычном return, он не будет ничего возвращать, и условие не сработает, я с этим много шишек набил. Если вы сравниваете ответ как тут -> if (asd()=="12345" )messagebox("Да" ); То бессмысленно делать возврат без значения.
3) if .. // return; // пропущен --- тут я думаю рано или поздно кибор выдаст ошибку ибо нет ; или {} после сравнения.
Не уверен нужна ли ; после } ,но я каждый раз их ставлю кроме случаев, когда нужно выполнить else вот так:
if (..) {} else {};
3. Redear - 05 Мая, 2024 - 08:14:21 - перейти к сообщению
спасибо, что включились в обсуждение.
if .. привел только как пример. на самом деле оператором сравнение вопрос не ограничивается. Здесь можно подставить любое кол-во операторов для расчета результата и его выводом.
по поводу ; после скобок, еще год назад пытался выяснить как будет верно, как оказалось после скобок ; не нужен
единственное исключение, если вы инициализируете массив
int example[6]={1,2,3,4,5,6};
if .. привел только как пример. на самом деле оператором сравнение вопрос не ограничивается. Здесь можно подставить любое кол-во операторов для расчета результата и его выводом.
по поводу ; после скобок, еще год назад пытался выяснить как будет верно, как оказалось после скобок ; не нужен
единственное исключение, если вы инициализируете массив
int example[6]={1,2,3,4,5,6};
4. petyanka - 05 Мая, 2024 - 11:10:03 - перейти к сообщению
Redear пишет:
по поводу ; после скобок, еще год назад пытался выяснить как будет верно, как оказалось после скобок ; не нужен
единственное исключение, если вы инициализируете массив
int example[6]={1,2,3,4,5,6};
Понял, спасибо.