154
голосов
13ответов
51188 просмотров

Есть ли накладные расходы на объявление переменной в цикле? (C ++)

Мне просто интересно, будет ли потеря скорости или эффективности, если вы сделаете что-то вроде этого: int i = 0; while(i < 100) { int var = 4; i++; } который объявляет int var сто раз. Мне кажется, что будет, но я не уверен. Было бы более практично / быстрее сделать это вместо...

7
голосов
13ответов
3023 просмотров

Есть ли способ определить переменные двух разных типов в инициализаторе цикла for?

В цикле for можно определить 2 переменные одного типа: int main() { for (int i = 0, j = 0; i < 10; i += 1, j = 2*i) { cout << j << endl; } } Но запрещено определять переменные разных типов: int main() { for (int i = 0, float j = 0.0; i < 10; i += 1, j = 2*i)...

468
голосов
13ответов
387177 просмотров

Указатель C на массив / массив значений указателей

В чем разница между следующими объявлениями: int* arr1[8]; int (*arr2)[8]; int *(arr3[8]); Каково общее правило понимания более сложных объявлений?

296
голосов
14ответов
512748 просмотров

Возможно ли только объявить переменную без присвоения какого-либо значения в Python?

Можно ли так объявить переменную в Python ?: var чтобы он инициализировал значение None? Кажется, что Python позволяет это, но как только вы получаете к нему доступ, он вылетает. Это возможно? Если нет, то почему? РЕДАКТИРОВАТЬ: я хочу сделать это для таких случаев: value for index...

2
голосов
2ответов
392 просмотров

Замыкание лямбда или переменная уровня класса?

Просто общий вопрос о том, что лучше всего: public void Foo() { int x = 5; myControl.Click += (o, e) => { x = 6; }; } Обратите внимание, я использую переменную x внутри своего обработчика лямбда-событий. ИЛИ: public class Bar { private int x = 5; p...