【问题标题】:C++ Switching lines off and onC++ 关闭和打开线路
【发布时间】:2013-09-22 17:02:33
【问题描述】:

我正在使用 VS2010 C++。

出于调试原因,我已经注释掉了这样的行:

ms+=t.getElapsedTimeInMicroSec();

变成了

//timer:ms+=t.getElapsedTimeInMicroSec();

现在,当我想包含所有计时器行时,我进行简单的文本替换并将所有“//timer:”替换为空字符串,所有这些行再次变为活动状态。 但是没有办法在所有行中再次包含“//timer:”。

我可以使用

#ifdef _MYVAR
         ms+=t.getElapsedTimeInMicroSec();
#endif

相反,但这会使我的代码的可读性大大降低。

我的问题是否有简单的解决方案,例如我在每行前面放置一个开关来激活或停用这些行?

【问题讨论】:

  • assert 满足吗? (在发布构建模式下不可用)

标签: c++ windows visual-studio-2010 ide


【解决方案1】:
/*timer*/ // ms+=t.getElapsedTimeInMicroSec();

现在您可以搜索 "/*timer*/ //" 并将其替换为 "/*timer*/"。然后稍后,搜索并将"/*timer*/" 替换为"/*timer*/ //"

【讨论】:

    【解决方案2】:

    如果您希望代码更具可读性,您可以使用正则表达式搜索(正则表达式)。

    你可以使用这样的一行

    ms+=t.getElapsedTimeInMicroSec(); //TIMER
    

    然后搜索(.*) \/\/TIMER 并替换为//($1) //TIMER

    对于删除搜索 //(.*) \/\/TIMER 并替换为 ($1) //TIMER

    【讨论】:

    • 我不是 100% 确定替换 RegEx 的语法。
    猜你喜欢
    • 1970-01-01
    • 2013-05-06
    • 2011-02-11
    • 1970-01-01
    • 2022-11-14
    • 2015-04-06
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多