Вопросы с тегом «return»

95
Как вернуть интеллектуальные указатели (shared_ptr) по ссылке или по значению?

Допустим, у меня есть класс с методом, который возвращает shared_ptr. Каковы возможные преимущества и недостатки возврата по ссылке или по значению? Две возможные подсказки: Раннее разрушение объекта. Если я возвращаю shared_ptrссылку by (const), счетчик ссылок не увеличивается, поэтому я рискую...

95
К какому типу относится ключевое слово return?

В функциях JavaScript мы необязательно используем операторы возврата . Это ключевое слово. Но каков его тип на returnсамом деле. Собственно запутался, увидев пример: function add(a, b) { return ( console.log(a + b), console.log(arguments) ); } add(2, 2); Вывод: 4 [2, 2] Итак, мы можем передавать в...

93
Это хороший подход - вызвать return внутри с помощью оператора {}?

На этот вопрос есть ответы на Stack Overflow на русском : Можно ли делать возврат из блока using () {}? Я просто хочу знать, безопасен ли / хороший подход для вызова returnвнутри usingблока. Например, using(var scope = new TransactionScope()) { // my core logic return true; // if condition met...

92
Использование return внутри метода void - плохая практика?

Представьте себе следующий код: void DoThis() { if (!isValid) return; DoThat(); } void DoThat() { Console.WriteLine("DoThat()"); } Можно ли использовать return внутри метода void? Есть ли снижение производительности? Или лучше написать такой код: void DoThis() { if (isValid) { DoThat(); } }...

87
Почему Windows использует CR LF?

Я понимаю разницу между ними, поэтому нет необходимости вдаваться в подробности, но мне просто интересно, в чем причина того, почему Windows использует как CR, так и LF для обозначения разрыва строки. Кажется, что метод Linux (просто с использованием LF) имеет гораздо больше смысла, экономит место...

87
Использование return в блоке Ruby

Я пытаюсь использовать Ruby 1.9.1 для встроенного языка сценариев, чтобы код «конечного пользователя» был написан в блоке Ruby. Одна из проблем заключается в том, что я бы хотел, чтобы пользователи могли использовать ключевое слово return в блоках, чтобы им не нужно было беспокоиться о неявных...

85
Доступ к переменным-членам класса в Python?

class Example(object): def the_example(self): itsProblem = "problem" theExample = Example() print(theExample.itsProblem) Как мне получить доступ к переменной класса? Я пробовал добавить это определение: def return_itsProblem(self): return itsProblem Тем не менее, это тоже не удается....

83
Другое поведение оператора запятой в с ++ с возвратом?

Это (обратите внимание на оператор запятой ): #include <iostream> int main() { int x; x = 2, 3; std::cout << x << "\n"; return 0; } выходы 2 . Однако, если вы используете returnоператор запятой, это: #include <iostream> int f() { return 2, 3; } int main() { int x; x = f();...

81
Что особенного в структурах?

Я знаю, что в C мы не можем вернуть массив из функции, а только указатель на массив. Но я хочу знать, в чем особенность, structsкоторая делает их возвращаемыми функциями, даже если они могут содержать массивы. Почему structупаковка делает действующей следующую программу? #include <stdio.h>...

79
какова точка возврата в Ruby?

В чем разница между returnи простым помещением переменной, например следующей: без возврата def write_code(number_of_errors) if number_of_errors > 1 mood = "Ask me later" else mood = "No Problem" end mood end возвращение def write_code(number_of_errors) if number_of_errors > 1 mood = "Ask me...

10
Зачем возвращать NULL из main ()?

Я иногда вижу кодеров, которые используют в NULLкачестве возвращаемого значения в программах main()на C и C ++, например что-то вроде этого: #include <stdio.h> int main() { printf("HelloWorld!"); return NULL; } Когда я компилирую этот код с помощью gcc, я получаю предупреждение:...

10
В PHP: в чем разница между «return», «yield», «yield from» и смешиванием yield и return в одной и той же функции?

Разница между return и yieldказалась очевидной, пока я не выяснил, была также yield fromи возможность комбинировать и то returnи другое в одной и yieldтой же функции! Мое понимание returnбыло то, что все после не было выполнено, верно? Однако: function generate(): iterable { return [1, 2, 3]; }...