C/C++
madaoheng
这个作者很懒,什么都没留下…
展开
-
c/c++中的一些基础但必须熟记的知识
1)、const 与#define const在C++中包含了更丰富的含义,而在C语言中仅意味着:“只能读的普通变量,”或“不能改变的变量”,故在编译阶段需要的常数仍然只能以#DEFIEN宏定义!故在C语言中如下程序时非法的: const int SIZE = 10; char a[SIZE];错误:SIZE不是常数! (2)、static变量初始化的问题 看下面代码: #转载 2013-07-15 09:42:15 · 517 阅读 · 0 评论 -
指针与引用
1.指针占内存空间,引用不占,只是给一块内存空间取别名 2.引用定义时必须初始化,指针不必 3.引用指向一块内存区域则不能指向另一块内存,指针可以 4.没有空引用,有指向空的指针原创 2013-07-18 21:58:37 · 406 阅读 · 0 评论 -
new与malloc的区别
malloc 与free 是C++/C 语言的标准库函数,new/delete 是C++的运算符。它们都可用于申请动态内存和释放内存。 对于非内部数据类型的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数原创 2013-07-19 17:05:32 · 288 阅读 · 0 评论 -
C++多态
1.一个类中函数重载 2.将一个类中的函数声明为virtual,在继承他的派生类中覆盖这个函数(同名,同参);虚函数:在函数调用时确定对象类型; class A { public: virtual void f() { cout } void g() { cout }原创 2013-07-19 16:00:09 · 408 阅读 · 0 评论 -
使类的成员函数成为回调函数
如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。其错误是普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递this指针给其成员函数从而实现程序函数可以访问C++的数据成员。这也可以理解为什么C++类的多个实例可以共享成员函数却-有不同的数据成员。由于this指针的作用,使得将一个CALL-BACK型的成员函数作为回调函数安装时就会因为转载 2013-07-19 17:04:07 · 533 阅读 · 0 评论 -
容器list使用之erase
今天无论如何要写点东西,算是搞清楚了一点东西吧。有点小小的成就感。 之前在程序里面使用了list容器,其中用到了erase()函数,之前一直没出现问题,这两天突然莫名奇妙。花了点时间,搞清楚了erase()函数的机理。 常用的删除容器中元素的方法是如下(方法1): list< int> List; list< int>::it转载 2013-09-26 15:01:16 · 651 阅读 · 0 评论 -
c++与java访问符区别
c++: 修饰成员变量和函数(能否在类外访问,继承): public:可以在类外访问 private:只能在类中访问,不能被继承 protected:不能在类中访问,可以被继承 修饰继承(被继承的成员在子类中的权限): public:与父类一样 private:private protected:protected java: 修饰成员变量和函数(访问时与所在类原创 2013-12-29 14:32:38 · 539 阅读 · 0 评论 -
c++与java多态实现的不同
c++: virtual修饰,函数名,参数相同,实现多态。 java: 函数名,参数相同,实现多态原创 2013-12-30 18:35:46 · 542 阅读 · 0 评论