C++
argpunk
以梦为马
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从编译器角度理解虚函数和继承
在c++中,继承的概念可以理解为c中得嵌套结构体,对于各种函数,类中的成员函数,类中的友元函数,各种继承的虚拟函数,只要从编译器的角度去理解 就会变得简单。例如下例: class D{ public: int func_D(); int v_func_DD(); }; class D1 : public D{ public: int func_D原创 2012-01-31 15:05:04 · 935 阅读 · 0 评论 -
数组引用的思考
@当给一个函数传递数组相关的参数时,除了可以传递数组的起始地址,还可以传递整个数组的引用。 如: void function(int (&arr)[10]); 此时,将函数的形参声明为一个数组的引用,这个数组的大小是10个int元素。 对于该函数的使用方法为: int main(){ int i = 0, j[2] = {1,2}; int k[10原创 2012-02-01 21:05:37 · 743 阅读 · 0 评论 -
理解对象的构造时发生的情况
当一个对象被创建时,会发生什么情况呢? 例如: template class boy{ public: boy(const string &new_name, T *ptr){ name = newname; adress = ptr; } .....原创 2012-02-05 18:35:26 · 664 阅读 · 0 评论 -
operator=相关思考
一. operator=返回值及形参的讲究: 1.string& string::operator=(const string& rhs){ return *this; } 在这种情况下 ,赋值操作符的重载可以面对的几种情况: ①. string s1; s1 = "Hello"; 此时编译器会做如下处理: const string __te原创 2012-02-07 11:45:21 · 858 阅读 · 0 评论 -
一个关于extern"C"下函数指针行为的测试用例
本例测试在VS2008下extern "C" 对函数名以及函数指针的影响. //test.h #ifndef TEST_H #define TEST_H #include #define BUFSIZE 1024 #ifdef __cplusplus extern "C"{ #endif extern "C" void(*pf2)(void); void pf3(原创 2012-02-12 15:05:15 · 1694 阅读 · 0 评论 -
malloc与free
关于malloc与free 1. 这两个函数是库函数,不是操作系统中真正对进程虚拟地址的释放(例如Linux的brk系统调用才是真正的申请和释放) 2. free并不代表操作系统对于进程虚拟空间真正的释放,因此在释放后该块地址对于进程来说还是可以访问的(并不会引起非法地址访问的错误,在调用free后,库可能会将这段内存标记为一个很大得值,例如在windows下的0xfeee原创 2012-04-13 15:57:39 · 862 阅读 · 0 评论
分享