![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 77
coder_fighting
这个作者很懒,什么都没留下…
展开
-
template 函数模板
模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。 一 、函数模板的一般形式如下: Template class或者也可以用typename T> 返回类型 函数名(形参表) {//函数定义体 } 说明: template是一个声明模板的关键字,表示声明一个模原创 2014-01-14 11:48:00 · 684 阅读 · 0 评论 -
复习 C++ private 和protected 特性
#include class base { public: base():a(10),b(20),c(30),d(40){}; ~base(){}; int getC(){return c;}; int getAandB(){return a+b;}; protected: int a; int b; private: //原创 2015-08-04 17:41:56 · 439 阅读 · 0 评论 -
C++ 内存对齐
C++ 内存对齐 作用范围为 struct / union 一、内存对齐的规则: 1、 对于结构的各个成员,第一个成员位于偏移为0的位置,以后每个数据成员的偏移量必须是min(#pragma pack()指定的数,这个数据成员的自身长度) 的倍数。 2、 在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值原创 2015-03-05 23:41:53 · 454 阅读 · 0 评论 -
C++ 覆盖和隐藏学习
#include "stdafx.h" #include using namespace std; class Base{ public: virtual void xfn(int i) { cout<<"base::xfn(int i)"<<i<<endl; } void yfd(float f) { cout<<"base:: yfn(float)"<<endl; }转载 2014-03-07 12:01:04 · 734 阅读 · 0 评论 -
C++内存对象大会战1
如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性能,更为主要的是,当我们操作内存的时候一不小心就会出现问题,而且很多时候,这些问题都是不易发觉的,比如内存泄漏,比如悬挂指针。笔者今天在这里并不是要讨论如何避免这些问题,而是想从另外一个角度来认识C++内存对象。转载 2014-03-04 16:11:38 · 502 阅读 · 0 评论 -
C++内存对象大会战2
四.禁止产生堆对象 上面已经提到,你决定禁止产生某种类型的堆对象,这时你可以自己创建一个资源封装类,该类对象只能在栈中产生,这样就能在异常的情况下自动释放封装的资源。 那么怎样禁止产生堆对象了?我们已经知道,产生堆对象的唯一方法是使用new操作,如果我们禁止使用new不就行了么。再进一步,new操作执行时会调用operator new,而operator new是可以转载 2014-03-04 16:13:09 · 442 阅读 · 0 评论 -
虚函数学习
#include "stdafx.h" #include using namespace std; class BASE0 //抽象类 不能实例化 不能定义对象但可以 //定义它的引用和指针(可以指向派生类的对象) { public: virtual void test()const =0;//纯虚函数 }; class BASE1 { public: virtual ~原创 2014-03-04 09:37:05 · 510 阅读 · 0 评论 -
关于C++拷贝构造函数的一些问题
#include "stdafx.h" #include using namespace std; class Point { public: Point(int xx=0,int yy=0) { x=xx; y=yy; } Point(Point &p);//复制构造函数基本格式 int getx() { return x; }原创 2014-02-20 11:18:20 · 681 阅读 · 0 评论 -
C++常对象、常成员函数的学习
C++常对象、常成员函数的学习 #include "stdafx.h" #include using namespace std; class R { private: int r1,r2; public: R(int r1=0,int r2=0):r1(r1),r2(r2){}//构造函数 void chang(); //void print(); void原创 2014-02-22 12:05:03 · 635 阅读 · 0 评论 -
C++ volatile
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。由于访问寄存器的速度要快过RAM,所以编译器一般都会作减少存取外部RAM的优化。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。 int volatile nVint;//当要求使用volatil原创 2015-08-20 15:55:34 · 427 阅读 · 0 评论