Результаты поиска по запросу "local-variables"

2 ответа

@ Да, местные жители всегда лучше, если они работают семантически. Более того, они не связаны с повторными входящими вызовами Execute, если это произойдет.

х потоках я всегда объявляю локальные переменные "нормально", таким образом: procedure TMyThread.Execute ; var i : integer ; begin i := 2 ;и т.д., если я объявлю их так: procedure TMyThread.Execute ; threadvar j : integer ; begin j := 2 ...

1 ответ

 осмотреть работающую ВМ.

я есть метод и я хочу исследовать переменные внутри него без отладки - возможно ли это в Java? Я не хочу писать тонны кода вроде: System.out.println("a: " + a);Я хочу что-то вроде: System.out.printLocals();Также должно быть здорово иметь ...

3 ответа

Область действия параметра против области локальной переменной?

Я читал книгу AP cs, в которой говорилось о трех типах переменных: • переменные экземпляра • Локальные переменные • Параметры Переменные экземпляра видны во всем классе и т. Д. Параметры могут использоваться только внутри метода, как и ...

ТОП публикаций

4 ответа

вопрос не в переменных экземпляра.

я есть эта простая строка кода: int x;x автоматически имеет значение 1. Я ничего не устанавливаю, но когда я отлаживаю, это показывает, чтоx это 1. Делаетint иметь значение по умолчанию 1 ?!

8 ответов

Значения по умолчанию и инициализация в Java

На основании моегоссылка [http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html], примитивные типы имеют значения по умолчанию, а объекты имеют значение null. Я проверил кусок кода. public class Main { public static void ...

1 ответ

Когда-то, я бы сказал, до Python 2.1 или около того, глобальные поиски были намного медленнее, чем локальные. В то время такой стиль передачи глобальных функций был более распространенным, но сегодня разница настолько мала, что вряд ли имеет значение.

ументации по модулю itertools я нашел этот комментарий def dotproduct(vec1, vec2): return sum(imap(operator.mul, vec1, vec2))Обратите внимание, что многие из приведенных выше рецептов могут быть оптимизированы путем замены глобальных поисков ...

8 ответов

Это «грязный» способ использования адресов памяти. Когда вы возвращаете адрес (указатель), вы не знаете, относится ли он к локальной области действия функции. Это просто адрес. Теперь, когда вы вызвали функцию 'foo', этот адрес (ячейка памяти) для 'a' уже был размещен там в (по крайней мере, пока безопасно) адресуемой памяти вашего приложения (процесса). После того, как функция 'foo' вернулась, адрес 'a' может считаться 'грязным', но он там, не очищен и не нарушен / не изменен выражениями в другой части программы (по крайней мере, в этом конкретном случае). Компилятор C / C ++ не останавливает вас от такого «грязного» доступа (хотя может вас предупредить, если вам не все равно). Вы можете безопасно использовать (обновлять) любую область памяти, которая находится в сегменте данных экземпляра вашей программы (процесса), если вы не защищаете адрес каким-либо способом.

я есть следующий код. #include <iostream> int * foo() { int a = 5; return &a; } int main() { int* p = foo(); std::cout << *p; *p = 8; std::cout << *p; }И код просто выполняется без исключений времени выполнения! Выход был58 Как это может быть? ...

5 ответов

@jalf Распределение кучи намного дороже, чем «распределение» в стеке. Если вам нужно несколько объектов, вы заплатите гораздо большую цену, если разместите их в куче. Если вам нужен только один объект, просто сделайте его статичным.

аживаю довольно странное переполнение стека, предположительно вызванное выделением слишком больших переменных в стеке, и я хотел бы уточнить следующее. Предположим, у меня есть следующая функция: void function() { char buffer[1 * 1024]; if( ...

3 ответа

В Ruby нет способа динамически определить локальную переменную в текущем контексте? [Дубликат]

На этот вопрос уже есть ответ здесь: Как динамически создать локальную переменную? [/questions/18552891/how-to-dynamically-create-a-local-variable] 4 ответаМне интересно, есть ли метод, который позволит мне динамически определять ...

2 ответа

 является локальной переменной. Почему? Ответ прост: потому что именно так был построен этот язык. (и нет, это не единственный язык, который работает таким образом)

foo = "foobar"; var bar = function(){ var foo = foo || ""; return foo; } bar();` код дает в результате пустую строку. Почему JS не может переназначить локальную переменную с тем же именем, что и глобальная переменная? В других ...