The C++ Programming Language 学习笔记
文章平均质量分 52
intheway_acm
Fight on! Never give up!
展开
-
C++ 类型提升规则
<br />偶然一个C++群的人问:我的问题是(-1)/sizeof(int)和(-1)/4 ,有什么区别?<br />当时认为肯定结果都是0,运行才知道答案。。。<br />群里的人一同乱猜。。。看到运行答案,想了下之后才发现-1会被提升为unsigned类型这时就是0xFFFFFFFF/4了。。。而第二个表达式都是有符号的int型,结果当然为0。<br />找到一篇文章,http://blog.chinaunix.net/u2/70445/showart_1841233.html原创 2010-06-24 18:33:00 · 994 阅读 · 0 评论 -
C++构造函数,无意中的错误。
#include using namespace std;struct Node{ int u, v; Node(){u = v = 3;} Node(int u, int v){ u = u, v = v; }};int main(){ Node n(1, 2); printf("%d %d/n", n.u, n.v); system("pause"); return 0;}很奇怪,没有编译错误甚至警告,问了几个人才恍然大悟,u,v在这种情况下原创 2010-05-31 23:35:00 · 413 阅读 · 0 评论 -
验证使用初始化形式的构造函数效率可能更高
//TC++PL书中222页说到:使用初始化形式的构造函数效率可能更高#include using namespace std;struct String{ char str[100]; String(){ printf("String default/n"); strcpy(str, "hello/n"); } String(const String &st){ printf("String construct/n"); st原创 2010-06-01 18:44:00 · 429 阅读 · 0 评论 -
多层函数参数非const引用潜在的危险
#include using namespace std;struct Node{ int u; Node(int uu = 0):u(uu){ cout } ~Node(){ u = 0; cout } Node(const Node &no){ cout u = no.u; } Node operator + (const Node &no) const{ cout原创 2010-06-04 22:34:00 · 391 阅读 · 0 评论 -
C++ new的放置语法
<br /><br />#include <iostream><br />using namespace std;<br />struct Node{<br /> int u;<br /> Node(int uu = 0):u(uu){<br /> //cout << "create" << endl;<br /> }<br /> ~Node(){<br /> u = -1000;<br /> //cout << "delete/n";<br原创 2010-06-04 23:09:00 · 1265 阅读 · 1 评论 -
C++ 友元函数用法。
<br /><br /><br />#include <iostream><br />using namespace std;<br />class A;<br /> <br />class B{<br /> int x, y;<br />public:<br /> void bf(A &a);<br />};<br /> <br />class A{<br /> int u, v;<br />public:<br /> A(int uu=0, int vv=0):u(uu),v(v原创 2010-06-15 14:11:00 · 343 阅读 · 0 评论