Я знаю, что на это ответили, но подумал, что может помочь другое объяснение.
Другой способ проиллюстрировать это:
++i
даст результат new i
, i++
даст результат оригинала i
и сохранит new i
для следующее действие.
i
, оно будет зависеть от того, было ли изменено i
в выражении или после выражения.
int i = 1;
result i = ++i * 2 // result = 4, i = 2
i
оценивается (изменяется) до вычисления результата. Печать i
для этого выражения показывает измененное значение i
, использованное для этого выражения.
result i = i++ * 2 // result = 2, i = 2
i
оценивается после вычисления результата. Таким образом, печать i
из этого выражения дает исходное значение i
, использованное в этом выражении, но i
все еще изменяется для любого дальнейшего использования. Таким образом, печать значения для i
сразу после выражения покажет новое увеличенное значение i
. Поскольку значение i
изменилось, будет ли оно напечатано или использовано.
result i = i++ * 2 // result = 2, i = 2
System.out.println(i); // 2
Если вы сохранили согласованный шаблон и включили строки печати для всех значений:
int i = 3;
System.out.println(i); // 3
System.out.println(i++); // 3
System.out.println(i); // "4"
System.out.println(++i); // 5
System.out.println(i); // "5"
System.out.println(++i); // "6"
System.out.println(i++); // "6"
System.out.println(i); // "7"
Идея GMan о создании «песочницы» хороша, так как позволяет легко опробовать многофайловые тесты. Я называю свой «cppTest».
Однако, если вы просто хотите иметь возможность скомпилировать любой файл C или C ++, который у вас есть, просто создайте простой «Внешний инструмент». На самом деле, это не так просто, как должно быть.
Во-первых, создайте командный файл, который установит среду компилятора и запустит компилятор. Примерно так:
@rem - runcl.cmd
@rem a batch file to drive simple VC9 compiles
#rem
@echo off
set LIBRARIES=kernel32.lib user32.lib advapi32.lib shlwapi.lib oleaut32.lib
set WIN32_WINNT=0x0500
call "%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
echo Visual C/C++ 2008 (VC 9.0) Compile...
set CC="%ProgramFiles%\Microsoft Visual Studio 9.0\VC\bin\cl.exe" /Zi /EHsc -D_WIN32_WINNT=%WIN32_WINNT% %1 /link /incremental:no %LIBRARIES%
echo %CC%
%CC%
В диалоговом окне «Инструменты / Внешние инструменты ...» добавьте новый элемент и заполните следующие поля:
& Скомпилировать файл
c: \ path \ to \ runcl.cmd
$ (ItemPath)
Исходный каталог: $ (ItemDir)
установите флажок «Использовать окно вывода»
Сейчас вы можете использовать " командный файл упадет
Хорошая особенность такого командного файла заключается в том, что вы также можете использовать его для интеграции компилятора в различные редакторы, которые позволяют вызывать внешние инструменты, такие как UltraEdit, Zeus Editor, EditPad Pro, PSPad, Блокнот программиста и т. д. и т. д.
Если хотите, я опубликовал пакетный файл, который использую для интеграции нескольких компиляторов в такие редакторы, как над. Этот командный файл обрабатывает несколько компиляторов, включая различные компиляторы MSVC от версии 6 до версии 9, компиляторы Digital Mars, MinGW и Comeau (компилятор для использования выбирается дополнительным параметром). Пакетный файл довольно запутан (к сожалению, такова природа пакетных файлов Windows, которые имеют любую сложность). Но я считаю, что это позволяет довольно просто запускать эти вещи из разных редакторов. Я могу быстро нажать несколько клавиш, которые я назначил компиляторам, чтобы скомпилировать один файл с 5 разными компиляторами, чтобы я мог легко проверить совместимость.
Я не даю никаких обещаний по этому поводу, кроме того, что считаю его полезным для себя цели - если у вас тоже, отлично. В противном случае не используйте его ...
В реальной среде IDE , Я не думаю, что можно запустить небольшую программу, вы должны использовать командную строку, как предложил Мэтт.
У меня есть решение этой проблемы: у меня есть один проект на моих компьютерах под названием «песочница», в котором есть только main.cpp, и здесь я могу возиться.
Это позволяет мне попробовать кое-что здесь, но мне никогда не придется начинать новый проект.