- 博客(13)
- 资源 (8)
- 收藏
- 关注
原创 c++中关于string str="text"+1;编译通过的分析~~~
#include#includeusing namespace std;int main(){ string str="text"+1; cout<<str<<endl;} 上述代码在vc10.0和gcc上都能编译通过,输出ext。这个问题,今天垒代码的时候第一次碰到~~~~当时很惊讶!!翻了翻c++标准,参考了一下程序结果,大致知道了为什么
2011-03-24 21:17:00
1941
原创 boost中模板函数addressof()实现原理
&作为取址符号用来获取对象的地址,但由于c++太灵活,通过重载operator&可以改变operator&原有的语意。如下代码: #include using namespace std;class Object{public: int operator&() { return 0; }};int main(){ Object obj;
2010-04-04 23:12:00
4830
1
原创 深入探索c/c++函数(3)---虚成员函数调用的基本过程
学过c++一段时间都会知道,c++是依靠虚函数实现多态的,如下代码:#include using namespace std;class Base{public: virtual void Print() { cout<<"^-^"<<endl; }};class Derive:public Base{public: virtual vo
2010-04-03 09:52:00
5265
1
原创 深入探索c/c++函数(2)---普通成员函数调用的基本过程
c++的成员函数根据其调用的不同,大致可以分为4类:内联成员函数,静态成员函数,虚成员函数和上述3种以外的普通成员函数。从本质来说类成员函数和全局函数在调用上并没有差别,非内联函数的在调用时,基本上都包括如下的过程:函数的参数入栈,eip指针值入栈,然后跳到函数体的地址,执行函数体对应的代码,执行完毕调整栈帧。下面就按照上述4个分类进行分析,先来说一下普通的成员函数: 普通的成员函数在
2010-03-19 22:12:00
8647
3
原创 从一道笔试题来看指针的使用
不运行程序,问下面代码的输出是什么?1#include2 using namespace std;3 int main()4 {5 char *str[]={"welcome","to","Fortemedia","Nanjing"};6 char**p=str+1;7 str[0]=(*p++)+2;8 str[1]=*(p+1);9 str[2]
2009-04-30 19:24:00
4535
12
原创 深入探索c/c++函数(1)---全局函数调用的基本过程
在c/c++等许多程序设计语言中,可以将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,这就是程序中的函数,函数内封装了对数据和逻辑的处理。通过函数调用来执行函数体,下面根据代码进行分析。#include using namespace std;int test(int a,int b){ return a+b;}int main(int argc, char* argv[
2009-04-25 21:14:00
7170
3
原创 float和double变量的内存布局~~~~~~
浮点数在c/c++以及java中的内存布局遵循IEEE标准的,首先看一下IEEE所规定的存储的方式:符号位指数位小数部分指数偏移量单精度浮点数1 位[31]8位 [30-23]23位 [22-00]127双精度浮点数1 位[63]11 位[62-52]52 位[51-00]1023解释一下,首先float变量按
2008-12-20 19:58:00
11359
5
原创 系统栈的相关问题(2)---eip的修改
csdn曾见到如下代码:#include #include void HelloWorld(){ printf("Hello World!/n"); system("Pause"); exit(0);}int main(){ int arData[1] = {0}; arData[2] = (int)HelloW
2008-11-30 18:04:00
2057
原创 系统栈的相关问题(1)--栈的基本了解
#include using namespace std;void f1(int a,int b){}int main(){ f1(3,4); system("pause");}将上述代码反汇编如下(vs05debug): int main(){004113D0 push eb
2008-11-30 16:14:00
3623
原创 浅谈一下this指针相关~~~~
this指针指向的是当前对象的起始地址,这个大家都知道。this指针变量是编译器所维护的,对于程序员来说属于const,是一个定值。一般对象创建调用构造函数时,通过编译器在构造函数里‘偷偷’安插的代码完成this指针变量的赋值。所以下面的代码输出结果是一致的。#include using namespace std;class Test{public: Test() {
2008-11-19 19:33:00
1724
1
原创 总结对指针的一些看法~~~~
c/c++中的指针一般是指指针变量,它与普通的变量不同的是他能根据指针变量的类型通过*来重新解析指针变量的值,比如 :int i=3;int *p=&i;p=&i是给指针变量赋值,对于i编译器根据变量i的类型(int),在内存中划出了4个字节的空间&i~&i+3,以后对i的操作会映射到&i~&i+3这个字节中,比如i=4;编译器会根据编译时所获得类型信息,将4存储到&i~&i+3内存中
2008-11-03 22:22:00
1276
原创 第一篇文章~~~~~~~~~~~~~~
第一篇文章~~~~~~~哇嘎嘎嘎嘎~~~~~~~~~...o(∩_∩)o...· 感动 [img=http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/3.gif][/img] 伸手 [img=http://forum.csdn.net/PointForum/ui/scripts/csdn/
2008-04-29 14:16:00
1389
dev c++ 4.9.9,2
2009-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人