c++
文章平均质量分 74
画喜
计算机小白,努力学习
展开
-
c++学习1
1.static变量在全局静态区,不占用类的大小,类中只有虚函数表,非static变量才算大小2.虚基类的偏移量表指针占用四个字节3.空类为1个字节,因为要实例化,编译器会自动设定4.虚函数有指向虚函数的指针,占用4个字节,产生了虚表,但是如果你子类继承有新的虚函数的话,不会产生新的虚表,而是放在之前的后面5.联合体的sizeof是取成员的最大值6.指针变量的sizeof,32原创 2016-07-17 19:47:00 · 234 阅读 · 0 评论 -
【C++专题】static_cast, dynamic_cast, const_cast探讨
转http://www.cnblogs.com/chio/archive/2007/07/18/822389.html首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽转载 2016-10-16 13:01:54 · 249 阅读 · 0 评论 -
C++拷贝构造函数详解
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plain copyint a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。转载 2016-10-26 20:42:24 · 305 阅读 · 0 评论 -
函数调用--函数栈
出处:http://www.cnblogs.com/rain-lei/p/3622057.html 作者:小雨淅淅函数调用大家都不陌生,调用者向被调用者传递一些参数,然后执行被调用者的代码,最后被调用者向调用者返回结果,还有大家比较熟悉的一句话,就是函数调用是在栈上发生的,那么在计算机内部到底是如何实现的呢? 对于程序,编译器会对其分配一段内存,在逻辑上转载 2016-10-17 20:45:31 · 343 阅读 · 0 评论 -
标准C++中的string类的用法总结
http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html xFreedom标准C++中的string类的用法总结相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢转载 2016-10-19 20:38:29 · 316 阅读 · 0 评论 -
c++题目
int *p1 = new int[10]; int *p2 = new int[10]();对于内置类型而言,new仅仅是分配内存,除非后面显示加(),相当于调用它的构造函数,对于自定义类型而言,只要一调用new,那么编译器不仅仅给它分配内存,还调用它的默认构造函数初始化,即使后面没有加()下面的程序可以从0....n-1中随机等概率的输出m个不重复的数。原创 2016-07-30 20:54:33 · 1596 阅读 · 0 评论 -
运算符重载
本博文简记运算符重载的一些要点C++对运算符重载做了诸多的限制。1) 首先,并不是所有的运算符都可以重载。能够重载的运算符包括:+ - * / % ^ & | ~ ! = += -= *= /= %= ^= &= |=> >= == != = && || ++ -- , ->* -> () []new new[原创 2016-09-02 00:38:51 · 313 阅读 · 0 评论 -
那些不安全的库函数
http://wiki.jikexueyuan.com/project/c-advance/unsafelibfun.html那些不安全的库函数C 和 C++ 不能够自动地做边界检查,边界检查的代价是效率。一般来讲,C 在大多数情况下注重效率。然而,获得效率的代价是,C 程序员必须十分警觉以避免缓冲区溢出问题。C语言标准库中的许多字符串处理和IO流读取函数是导致缓冲区溢转载 2016-11-21 19:31:20 · 681 阅读 · 0 评论 -
C++宏与类
struct ServiceFactory { virtual ~ServiceFactory() {} virtual Service * CreateService() const = 0; virtual const char* GetName() const = 0; virtual int GetCmdId() const = 0;};//宏定义#d原创 2017-02-15 14:36:01 · 1118 阅读 · 0 评论 -
位运算
1.与,或,异或 与同1为1,或有1为1,异或0,1为12.左移运算符m右移运算符:无符号数值,原理同上;负数最右边n位遗弃,最左边补上n个13.n为int,n&1判断n转为二进制最右边是否为1.4.整数右移一位 = 除以2,但除法的效率低计算n转为二进制1的个数int Numberof1(int n){int count=0;while(n){if原创 2016-07-17 19:51:06 · 279 阅读 · 0 评论 -
构造函数为什么不能是虚函数
1,从存储空间角度 虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。2,从使用角度 虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造转载 2016-08-27 17:29:42 · 419 阅读 · 0 评论 -
C++内存管理
C++内存管理[导语]内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃转载 2016-08-26 20:26:41 · 501 阅读 · 0 评论 -
c++之指针作为函数参数传递的问题
原创文章,转载请注明出处,谢谢!作者:清林,博客名:飞空静渡 博客地址:http://blog.csdn.net/fjb2080 其实,对于C 或者C++ ,最难的一块地方估计就是指针了。指针是强大的,但也是很多人载在这里的地方。 前段时间写了一篇文章《C ++之 数组与指针的异同 》对C 和C ++中的指针做了一个初步的讲解。这次将讲解一下转载 2016-08-30 18:09:44 · 1305 阅读 · 0 评论 -
C++1(Effective C++)
1.const,#define,宏对于单纯变量,最好以const对象或enum替换#define#define ASPECT_PATIO 1.653 ASPECT_PATIO 可能没进入记号表,得追踪源头;ASPECT_PATIO 替换1.653可能导致目标码出现多份1.653const与#define区别const常量有数据类型,编译器类型检查,const常量调试,宏没有原创 2016-07-17 19:58:57 · 529 阅读 · 0 评论 -
union总结
union成员变量共享一段内存,同一时间只能储存其中一个成员变量的值struct与union1)联合默认访问权限也是公有的,并且,也具有成员函数2)共用体和结构体都是由多个不同的数据类型成员组成, 但在任何同一时刻, 共用体只存放了一个被选中的成员, 而结构体的所有成员都存在。3) 对于共用体的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于结构体的不原创 2016-08-16 11:52:35 · 508 阅读 · 0 评论 -
C++ 虚函数表解析
C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R转载 2016-08-24 19:53:02 · 211 阅读 · 0 评论 -
C++get函数
ifstream的get()用法 get()函数比较灵活,有3种常用的重载形式,实际有6种重载: int get(); istream& get ( char& c ); istream& get ( char* s, streamsize n ); istream& get ( char* s, streamsize n, char delim ); istr原创 2016-09-07 20:47:05 · 24279 阅读 · 0 评论 -
lambda
lambda表达式形:[capture list] (parameter list)->return type{function body}capture list (捕获列表):是一个lambda所在函数中定义的局部变量列表(通常为空,表示不使用所在函数的任何局部变量)parameter list return type f unction body与普通函数一样;其中,必原创 2016-07-17 23:55:14 · 367 阅读 · 0 评论 -
sizeof(程序员求职宝典)
单目运算符,不是函数,以字节形式给出了其操作数的存储大小,计算发生在编译时刻,所以它可当做常量表达式使用,且会忽略其括号内的各种运算,如"sizeof(a++);"中的++不执行sizeof的使用方法1)用于变量sizeof(var_name)或sizeof var_name 可以不用括号,但是用更常见2)用于数据类型sizeof(type) 必须使用括号sizeof(原创 2016-09-17 23:05:21 · 483 阅读 · 0 评论