读书人

C++ 中的一些鲜为人知的小细节点解决思

发布时间: 2012-03-29 12:53:12 作者: rapoo

C++ 中的一些鲜为人知的小细节点
C++ 中的一些鲜为人知的小细节点

1. "<%" "%>" 替代 "{" "}", "&&" "||" "!" 的替代 and or not ...
注: 有木有人见过如下的C++代码么?一下代码是可以通过编译的需要开启 工程树形 C++ -> language -> Disable language extensions 设置为 : Yes(/Za)
如下图:


C++代码
#include <iostream>

using namespace std;
#define LUANGUAGE_EXTENSIONS
#ifdef LUANGUAGE_EXTENSIONS
int main()
<%
for (int i=0; i<5; i++) <%
cout << "i: " << i << endl
<< "(i and 0) : " << (i and 0) << endl
<< "(i or 0) : " << (i or 0) << endl
<< "not i : " << not i << endl
<< "--------------------------" << endl;
%>
%>

#else

int main()
{
for (int i=0; i<5; i++) {
cout << "i: " << i << endl
<< "(i && 0) : " << (i && 0) << endl
<< "(i || 0) : " << (i || 0) << endl
<< "!i : " << !i << endl
<< "--------------------------" << endl;
}
}
#endif



运行结果:


2. 关键字 mutable 在const方法中需要修改数据成员变量 使用mutable关键字修饰

3. C++中的科学技术发表达 1e-4 相当于 0.0001, 1e+3 相当于 1000

[解决办法]
1.这是早期为了一些国家语言当中没有一些符号比如{}[]之类的,然后就用其他字符代替现象!在相关C/C++书籍中见过类似的情况。——这只是早期,如今键盘同一了,各种语言的字体符号库大致都统一了。很少人用这种特性了

2.编译器为了装b吧。

不过看到设置的英语标题,我觉得应该是属于我说的第1种情况!

读书人网 >C++

热点推荐