![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 75
hitler
这个作者很懒,什么都没留下…
展开
-
C++友元friend --c++利用friend修饰符,可以让一些你设定的函数能够对这些保护数据进行操作
通常对于普通函数来说,要访问类的保护成员是不可能的,如果想这么做那么必须把类的成员都生命成为public(共用的),然而这做带来的问题遍是任何外部函数都可以毫无约束的访问它操作它,c++利用friend修饰符,可以让一些你设定的函数能够对这些保护数据进行操作,避免把类成员全部设置转载 2011-07-25 11:17:37 · 279 阅读 · 0 评论 -
函数对象 (Function Objects)
函数对象(Function Objects)C++必知必会第18条款有时候需要一些行为类似于函数指针的东西,但函数指针显得笨拙、危险而且过时(让我们承认这一点)。通常最佳方式是使用函数对象(function object)取代函数指针。与智能指针(参见条款42"智能指转载 2011-08-25 16:15:03 · 345 阅读 · 0 评论 -
C++继承方式区别
公有继承(public) 1、基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可直接访问。 2、派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的转载 2011-08-16 16:32:51 · 546 阅读 · 0 评论 -
c++代理类
想必大家都知道在浏览器中设置代理吧!??其实代理模式跟这个差不多,对象A(相当于浏览器)不是直接访问对象C(相当Web服务器),而是通过一个中间对象B(相当于代理服务器)间接访问对象C。对象B则可以利用这一有利位置为A提供一个与C完全不同的接口,或做一些C本来不做的事!流程如转载 2011-08-08 16:56:13 · 3658 阅读 · 3 评论 -
C++中delete, new以及new [], delete[]操作符内幕
人们有时好像喜欢故意使C++语言的术语难以理解。比如说new操作符(new operator)和operator new的区别。当你写这样的代码:string *ps = new string("Memory Management");你使用的new是new操作符。这转载 2011-09-05 16:45:02 · 274 阅读 · 0 评论 -
c++中的私有构造函数
一般构造函数不是私有或者保护成员,但构造函数可以使私有成员函数,在一些特殊的场合,会把构造函数定义为私有或者保护成员。C++类的构造函数一般不应该是私有函数,因为私有函数不能被其他类或者全局函数所使用。而创建C++实例需要调用构造函数。所以如果构造函数是私有函数的转载 2011-09-02 10:02:25 · 943 阅读 · 0 评论 -
C++操作符重载
1. 重载操作符后,操作符的含义不应该被改变。2. 重载操作符后,优先级和结合性不变。3. 重载操作符,应注意如果原操作符是一目操作符,那么重载后仍应该是一目的,以此类推,特别注意:冲在操作符时使用默认实参是非法的。4. 短路操作符被重载后不再具备短路性。5. 对转载 2011-07-29 17:14:46 · 418 阅读 · 0 评论 -
如何学好C语言
我相信,这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定的时候,发现能力到了瓶颈,既不深,也不扎实,半吊子。比如:你长期地使用Java和.NET ,这些有虚拟机的语言对于开发便利是便利,但是对于程序员来说可能并不太好,原因有两个:虚拟机屏蔽了操作系统的系统调用,以及很多转载 2011-07-19 11:05:23 · 454 阅读 · 0 评论 -
如何学好C++语言
昨天写了一篇如何学好C语言,就有人回复问我如何学好C++,所以,我把我个人的一些学习经验写在这里,希望对大家有用。首先,因为如何学好C语言中谈到了算法和系统,所以这里就只谈C++语言。C++是最难的语言。这个世界上最难的编程语言可能非C++莫属了。你千万不要以为几天就可以学好C+转载 2011-07-19 11:06:04 · 318 阅读 · 0 评论 -
C/C++返回内部静态成员的陷阱
C/C++返回内部静态成员的陷阱背景在我们用C/C++开发的过程中,总是有一个问题会给我们带来苦恼。这个问题就是函数内和函数外代码需要通过一块内存来交互(比如,函数返回字符串),这个问题困扰和很多开发人员。如果你的内存是在函数内栈上分配的,那么这个内存会随着函数的返回而被弹栈释放转载 2011-07-19 10:48:28 · 381 阅读 · 0 评论 -
一个C程序的内存布局(memory layout)
7.6.一个C程序的内存布局(memory layout)一个C程序一直以来都是由以下5个段(pieces)组成:代码段(text segment):存放CPU执行的机器指令(machine instructions)。通常情况下,代码段是可共享的,使其可共享的目的是对于频繁被执转载 2011-07-18 20:16:47 · 686 阅读 · 1 评论 -
Const,Const函数,Const变量,函数后面的Const
看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不转载 2011-07-18 14:29:25 · 399 阅读 · 0 评论 -
const对象和const函数
当一个类的函数的参数表不同时,能重载函数, 当函数的const性不同时,也能重载函数。 如下所示: #include "a.h"//定义了CA类 class CBigClass { public: CBigClass(CA value):m_value(value) {} con转载 2011-07-18 14:20:26 · 322 阅读 · 0 评论 -
C++虚函数表解析(转)
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R转载 2011-07-17 22:00:22 · 417 阅读 · 2 评论 -
C++学习笔记(17)——虚函数与构造函数、析构函数
虚函数与构造函数、析构函数构造函数:为对象分配存储空间,使一个对象初始化;析构函数:在该对象生命期完结时做相应的扫尾工作并释放由构造函数分配的内存;构造函数不能是虚函数的原因:l 从概念上来说,如前所述,虚函数机制只有在应用于地址时才有效,因为地址在编译阶段提供的转载 2011-08-29 22:16:24 · 431 阅读 · 0 评论