![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【tec】c++
firedragonpzy
专注于iOScocos2d-xphpc/crubyjava等技术领域
展开
-
vs 快捷键
[code="shortcut"]快捷键 功能 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT + E显示资源视图 F12 转到定义 ...原创 2012-06-19 11:59:38 · 89 阅读 · 0 评论 -
c++基础知识(十)学习C++静态成员注意事宜
[code="c++"]C++中的一个类中还可以定义静态成员,但C++静态成员是所有对象公有的,每个静态成员分为静态数据成员和静态成员函数。AD:下面文章着重介绍C++静态成员,类的静态数据成员应该在代码中被显示的初始化,一定要在类外进行, C++静态成员和普通数据成员区别较大,体现在下面几点:1.静态数据成员在类中定义C++静态成员成员的方法就是在该成员的前面加上关键字...原创 2012-07-14 17:49:00 · 111 阅读 · 0 评论 -
字符编码笔记:ASCII,Unicode和UTF-8
[code="编码"]1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码...原创 2012-07-18 14:04:27 · 57 阅读 · 0 评论 -
c++基础知识(十一)文件的复制
[code="c++"]#include #include #include ifstream in("catdb.db");//源文件ofstream out("D:/catdb.db"); //目标文件 out原创 2012-07-25 08:49:00 · 120 阅读 · 0 评论 -
几种函数调用方式
[code="c++"]几种函数调用方式 __cdecl 是C Declaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数不会要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。 _stdcall 是StandardCall...原创 2012-07-27 15:33:14 · 105 阅读 · 0 评论 -
vs2010惯用快捷键设置
[code="快捷键"]首先介绍下快捷键设置入口:工具->选项->环境->键盘1、窗口.关闭文档窗口:Ctrl+F42、窗口.关闭所有文档:Ctrl+Shift+F43、编辑.完成单词 Alt+;4、编辑.设置选定内容的格式 Alt+ShiftF45、视图.全屏显示 Ctrl+M,M6、编辑.删除行 Ctrl+D7、编辑.转到“查找”组合框 Ctrl+D8、视图...原创 2012-07-27 19:54:32 · 92 阅读 · 0 评论 -
C/C++中的结构体
详情请参考:【Software Myzone】:[url]http://www.firedragonpzy.com.cn/index.php/archives/2375[/url]原创 2012-11-07 09:02:19 · 109 阅读 · 0 评论 -
C/C++中函数指针的含义
[code="c++"]函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢? 如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。 定义一个指向函数的指针用如下的形式,以上面的test()为例:int (*fp)(int a);//这里就定义了一个指向函数的指针...原创 2012-08-01 15:54:02 · 88 阅读 · 0 评论 -
C++引用与指针的比较
[code="c++"]引用是C++中的概念,初学者容易把引用和指针混淆一起。 一下程序中,n是m的一个引用(reference),m是被引用物(referent)。 int m; int &n = m; n相当于m的别名(绰号),对n的任何操作就是对m的操作。 所以n既不是m的拷贝,也不是指向m的指针,其实n就是m它自己。 引用的规则: (1)引用被创建的...原创 2012-08-03 14:09:59 · 71 阅读 · 0 评论 -
c++中的变量
[i][b]本文为firedragonpzy原创,转载务必在明显处注明:转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/935[/b][/i][code="c++"]今天研究了下变量,现在分享一下:变量是有属性的,包括:变量的数据类别、变量的存储类别,其中,我们根据变量的存储...原创 2012-08-09 17:24:36 · 80 阅读 · 0 评论 -
typedef分析(针对ccColor4B)
[i][b]本文为firedragonpzy原创,转载务必在明显处注明:转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/962[/b][/i][code="c++"] typedef 声明,为现有类型创建一个别名。使用typedef可以简化代码:例如:指针函数typedef...原创 2012-08-09 19:34:22 · 143 阅读 · 0 评论 -
c++ sizeof使用
[url]http://dev.yesky.com/143/2563643.shtml[/url][code="c++"]什么是sizeof 首先看一下sizeof在msdn上的定义: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a typ...原创 2012-08-11 15:22:30 · 149 阅读 · 0 评论 -
“tr”和字符串类型的string str = "tr"对比
[i][b]本文为firedragonpzy原创,转载务必在明显处注明:转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/1025[/b][/i] [code="c++"] 今天在研究sizeof的时候发现了一些比较有趣的现象,代码如下: string str =...原创 2012-08-11 16:11:25 · 315 阅读 · 0 评论 -
不玩设计模式的程序员不是好程序员
详情请参考:【Software Myzone】:[url]http://www.firedragonpzy.com.cn/index.php/archives/3555[/url]原创 2013-05-02 09:40:43 · 195 阅读 · 0 评论 -
const char*, char const*, char*const的区别
[code="c++"]const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。 这个知识易混点之前是看过了,今天做Linux上写GTK程序时又出现个Warning,发散一下又想到这个问题,于是翻起来重嚼一下。事实上这个概念谁都有只是三种声明方式非常相似:Bjarne在他的The C++ Programming Lang...原创 2012-08-13 13:50:19 · 97 阅读 · 0 评论 -
提高C程序效率的方法
[i][b]本文为firedragonpzy原创,转载务必在明显处注明:转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/1048[/b][/i][code="c++"]1. 避免不必要的函数调用2、避免不必要的内存引用3、节约内存(内存对齐和填充的概念)4、使用无符号...原创 2012-08-14 18:21:07 · 159 阅读 · 0 评论 -
C++ 虚函数表解析 转
详情请参考:【Software Myzone】:[url]http://www.firedragonpzy.com.cn/index.php/archives/3708[/url]原创 2013-05-29 09:09:32 · 157 阅读 · 0 评论 -
C++中引用传递与指针传递区别(进一步整理)
详情请参考:【Software MyZone】:[url]http://www.firedragonpzy.com.cn/index.php/archives/1368[/url]原创 2012-09-04 13:37:45 · 58 阅读 · 0 评论 -
c++ site
c++,含有内核的讲解:[url]http://bdxnote.blog.163.com/blog/#m=0&t=1&c=fks_080075087094082071087085074075080082085065087083[/url]51cto资源下载:[url]http://bbs.51cto.com/thread-935524-1.html[/url]...原创 2012-07-14 09:45:03 · 147 阅读 · 0 评论 -
c++进阶(一)C语言条件编译及编译预处理阶段
[code="c"]一、C语言由源代码生成的各阶段如下:C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件 其中 编译预处理阶段,读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。或者说是扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。预处理过程先于编译器对源代码进行处理。 在C 语言中,并没有任何内在的...原创 2012-07-14 09:09:07 · 264 阅读 · 0 评论 -
c++基础知识(七)反斜杠在C/C++中的作用
[code="c++"]由于最近好几次碰到反斜杠,不明白是什么意思,后来查了下,原来用的较多的是作为强制换行符,衔接上下两行的意思。有时候一个语句太长,一行写不下,或者显得不美观,为了便于阅读,可以将较长的语句拆分成两行甚至多行,除了最后一行之外,在每一个分行后面加一个反斜杠“\”,这样编译的时候,系统会自动将这几个分行读成一个语句处理。比如:1) 用在宏定义中:#define...原创 2012-06-27 14:29:28 · 511 阅读 · 0 评论 -
C++效率(一)构造函数初始化及参数的默认值
[i][b]本文为firedragonpzy原创,转载务必在明显处注明:转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/107[/b][/i][code="c++"]构造函数的初始化有两种:(一)在构造函数体的赋值语句中设置,(二)在构造函数中使用初始化列表(一)构造函数体的...原创 2012-07-05 14:13:22 · 388 阅读 · 0 评论 -
c++规范
[code="c++规范"](一)文件结构: (1)头文件:所有C++的源文件均必须包含一个规范的文件头,文件头包含了该文件的名称、功能概述、作者、版权和版本历史信息等内容。标准文件头的格式为:/*! @file*******************************************************************************...原创 2012-07-05 14:20:07 · 84 阅读 · 0 评论 -
C++内存基础(一)c语言堆栈问题
[code="c++"] C语言程序编译的内存分配: 1.栈区(stack) --编译器自动分配释放,主要存放函数的参数值,局部变量值等; 2.堆区(heap) --由程序员分配释放; 3.全局区或静态区 --存放全局变量和静态变量;程序结束时由系统释放,分为全局初始化区和全局未初始化区; 4.字符常量区 --常量字符串放与此,程序结束时由系统释放;...原创 2012-07-07 10:19:10 · 148 阅读 · 0 评论 -
C++内存基础(二)堆栈与函数调用(精)
[code="c++"]一、1) 在栈上创建。在执行函数时,函数内局部变量的存储单元都在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,一般使用寄存器来存取,效率很高,但是分配的内存容量有限。 ...原创 2012-07-07 11:18:19 · 115 阅读 · 0 评论 -
c++基础知识(二)C/C++基本数据类型
[code="cocos2d-x"]学了C然后C++,然后MFC/Windows,然后是C#,其中数据类型很多,由基本类型衍生的typedef类型也N多。熟知基本数据类型是我们正确表达实际问题中各种数据的前提,因此我分类总结了一下C/C++/Windows /C#基本数据类型,以便日后查阅。 ANSI C/C++基本数据类型:TypeSize数值范围无值型v...原创 2012-07-09 14:53:14 · 89 阅读 · 0 评论 -
c++基础知识(六)C++虚函数表解析(转)
[code="c++"]C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的...原创 2012-07-10 15:08:18 · 82 阅读 · 0 评论 -
c++基础知识(四)C++的类型转换符
[code="c++"]关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面对它们一...原创 2012-07-10 19:32:52 · 63 阅读 · 0 评论 -
c++基础知识(五)C/C++中枚举类型(enum)
[code="c++"]如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。 举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它!enum box{pen...原创 2012-07-10 19:41:23 · 85 阅读 · 0 评论 -
c++基础知识(三)enum类型的本质
[code="c++"] 至从C语言开始enum类型就被作为用户自定义分类有限集合常量的方法被引入到了语言当中,而且一度成为C++中定义编译期常量的唯一方法(后来在类中引入了静态整型常量)。 根据上面对enum类型的描述,到底enum所定义出来的类型是一个什么样的类型呢?作为一个用户自定义的类型其所占用的内存空间是多少呢?使用enum类型是否真的能够起到有限集合常量的边界约束...原创 2012-07-10 20:01:35 · 190 阅读 · 0 评论 -
C++内存基础(三)堆 栈 全局/static变量区 常量区
[code="c++"]一、在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序...原创 2012-07-11 13:39:43 · 86 阅读 · 0 评论 -
c++基础知识(一)C++类继承关系问题
[code="c++"]在C++中继承主要有三种关系:public、protected和private。这三种继承关系中public继承是最为常用的一种继承关系,代表了接口继承含义,而他们分别具体代表了什么含义呢?1. public 从语义角度上来说,public继承是一种接口继承,根据面向对象中的关系而言就是,子类 可以代替父类完成父类接口所声明的行为,也就是必须符合“L...原创 2012-07-11 17:02:31 · 110 阅读 · 0 评论 -
c++基础知识(九)连接时出现错误 error LNK2001: 无法解析的外部符号(转)
[code="c++"]学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于 编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时, 编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不 明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非 常困难。 初学者在学习VC++的过程中,遇到的LNK20...原创 2012-07-13 09:53:08 · 198 阅读 · 0 评论 -
C++效率(二)C++内联函数
[code="c++"] 介绍内联函数之前,有必要介绍一下预处理宏。内联函数的功能和预处理宏的功能相似。相信大家都用过预处理宏,我们会经常定义一些宏,如#define TABLE_COMP(x) ((x)>0?(x):0) 就定义了一个宏。 为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去...原创 2012-07-13 14:20:37 · 95 阅读 · 0 评论 -
c++进阶(二)函数调用约定及函数名称修饰符
[code="c++"]几乎每种编程语言都有函数的概念,而作为函数,就一定有参数的概念;一般来说,参数的传递是通过堆栈来实现的,堆栈是一种先入后出的数据结构,使用Push()把参数压入栈中,使用Pop()把参数弹出栈,而且Push()和Pop()必须成对出现;重要的一点:函数调用约定不仅决定了发生函数调用时函数参数的入栈顺序,还决定了是由调用者函数还是被调用者函数负责清除函数栈中的参数并还原栈...原创 2012-07-13 14:57:40 · 152 阅读 · 0 评论 -
c++基础知识(八)C/C++中修饰符const、extern、static、volatile的用法
[code="c++"]1.const的用法:为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替)用法1:常量取代了C中的宏定义,声明时必须进行初始化。const限制了常量的使用方式,并没有描述...原创 2012-07-13 15:02:57 · 97 阅读 · 0 评论 -
C++数组的存储|C++数组所占内存空间
详情请参考:【Software Myzone】:[url]http://www.firedragonpzy.com.cn/index.php/archives/1525[/url]原创 2012-09-17 19:45:51 · 751 阅读 · 0 评论