C++
文章平均质量分 54
Keepower
这个作者很懒,什么都没留下…
展开
-
C++中的引用
引用就是对象的另一个名字--这是《c++primer》中介绍引用里的一句话;而且很多c++参考书中都有“引用是另一个对象的别名”这一说;这句话很容易让人引起误会。看下面的例子:int main(){ int a; int &b = a; a = 1; cout cout b = 2; cout cout cout cout return 0原创 2012-03-26 12:47:08 · 663 阅读 · 0 评论 -
windows获取时间方法
方法一:用c语言库函数中的time函数、ctime函数和ctime_s()函数time函数:头文件:time.h功能:获取当前的系统时间,返回一个time_t类型(即一个大整数)。用法:time_t time(time_t * timer)ctime函数:头文件:time.h功能:ctime功能是 把日期和时间转换为字符串用法:char *ctime原创 2013-11-06 13:47:39 · 3401 阅读 · 0 评论 -
引用与指针
/**************** *引用传参 ****************/#include using namespace std;void fun(int &a){ a = 1;}int main(){ int a; fun(a); cout<<a;} ;main()函数中:1000: int a;100原创 2013-09-09 10:56:35 · 629 阅读 · 0 评论 -
由a+=a-=a*=a想到的
#include using namespace std;int main(){int a = 12;a += a -= a *= a;coutreturn 0;}结果a为:0;;;编译环境:vs2008;010914C5 mov eax,dword ptr [a] ;a*=a010914C8 im原创 2013-08-16 08:46:30 · 2891 阅读 · 0 评论 -
int test(a,b,c)中的形参
void test3_1(int a, int b, int c){ cout<<*(&c-2);//标记行1}void test3(){ int x,y,z; cin>>x>>y>>z; test3_1(x,y,z);}输入:1 2 3输出:1在标记行1中输出的是1,即是a的值,因为函数调用中,是按实参表从右到左的顺序把参数压入栈中,且地址从高到低所以c的地址-原创 2013-08-26 13:47:49 · 1941 阅读 · 0 评论 -
由5/2想到的
c/c++中有一表达式如:5/4 + 3.0/2 + 4 + 6.0 其中,5/4的结果为1,因为5和4分别为int型(c/c++中这种常量整数默认为int类型),所以他们的运算结果为int型。3.0/2的结果为1.5,因为3.0为double(c/c++中这种常量小数默认为double类型),所以他们的结果为double型。4为int型6.0为double型原创 2013-08-26 13:44:52 · 884 阅读 · 1 评论 -
由'\\n'所想到的
编译环境:vs2008(XP) #include using namespace std;int main(){ cout<<'\\n'<<endl; return 0;}代码如上,结果是23662(5C6Eh);'\\n'中经过编译器解析后内存实际的内容是'\n',因为'\'的Assic码是5Ch(十进制92),'n'是6Eh(十进制110)#include原创 2013-08-01 14:16:28 · 825 阅读 · 0 评论 -
函数结束后,里面的局部变量还可以用吗
int *fun1(){ int a = 1; return &a;}int main(){ int *p =fun1(); cout *p = 100; cout return 0;}结果:*p=1*p=100以上可以看出a在fun1中是个局部变量,按理说该函数结束后,a变量应该不能访问了,但是上面的例子中,通过返回a的地址,在原创 2012-04-02 16:59:42 · 2981 阅读 · 1 评论 -
C++类中成员变量的内存分配
ps: 环境:vc6.0 class A{public: int a; char b; int c;};int main(){ A a; a.a = 0; a.b = 0; cout return 0;}汇编代码如下:466: A a;467: a.a = 0;00401578 mov原创 2012-03-11 14:40:28 · 3046 阅读 · 0 评论 -
C++学习笔记之智能指针
引言众所周知,C++中最让程序员头疼的就是关于内存的问题,其中不外乎以下几点: 1. 缓冲区溢出 2. 野指针 3. 重复释放内存 4. 不配对的new/delete 5. 内存泄露 其中大多数的问题都是对指针的不正确使用带来的。为此C++标准库中对原始指针做了一些封装,比如auto_ptr,使得指针更容易使用,但是还是存在众多不足。而在Boost库中,对原始指针做了更多的封装,弥补了a原创 2015-03-18 15:45:28 · 780 阅读 · 0 评论