标签: C++

Card image cap
如何修复 CodeBlocks 调试程序时显示错误

CodeBlocks 版本:17.12
平台:win10 1809 64bit

当你调试 Debug 的时候,CodeBlocks 的 Build messages 窗口可能会出现以下错误提示:

ERROR: You need to specify a debugger program in the debuggers's settings.
(For MinGW compilers, it's 'gdb.exe' (without the quotes))
(For MSVC compilers, it's 'cdb.exe' (without the quotes))

继续阅读

张 林海    2019 年 10 月 05 日

Card image cap
C++ 的 for 循环中 i++ 和 ++i 运行结果居然相同

想必大家都非常了解编程中 i++++i 的区别:

    int i=0;
    cout << i++;  //运行结果为 0;

    int i=0;
    cout << ++i;  //运行结果为 1;

所以当你遇到这样一个 for 循环:

for ( int i = 0; i <10; ++i )
{
	cout << i;
}

会理所当然的觉得运行结果是 123456789 吧?实际上,运行结果是:0123456789。你没有看错哦,++ii++ 的循环运行结果都是 0123456789,没有区别。

有些老练的 C++ 程序员会习惯写成 ++i,是因为处于性能优化考虑,因为老版的编译器用 i++ 会产生一个临时变量,而 ++i 不会。现在这个问题已经被优化了。作为语言的使用者,我们随便怎么写都可以。

张 林海    2019 年 06 月 17 日