
个人学习总结
fxc_fxc
开朗自信,学习能力强!热爱钻研新技术,热爱编程!
展开
-
C++标准库和标准模板库
转自原文http://blog.youkuaiyun.com/sxhelijian/article/details/7552499C++强大的功能来源于其丰富的类库及库函数资源。C++标准库的内容总共在50个标准头文件中定义。在C++开发中,要尽可能地利用标准库完成。这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费时间、人力重新开发呢;(2)质量:标准库的都是经过严格测试的,正确性有转载 2017-02-08 15:06:01 · 280 阅读 · 0 评论 -
C++ 默认初始化规则
栈中的变量(函数体中的自动变量)和堆中的变量(动态内存)会保有不确定的值;全局变量和静态变量(包括局部静态变量)会初始化为零。成员变量的初始化:为了避免不确定的初值,通常会在构造函数中初始化所有内置类型的成员原创 2017-02-10 10:58:31 · 303 阅读 · 0 评论 -
vs2015详细介绍链接
https://msdn.microsoft.com/zh-cn/library/dd264943.aspx原创 2017-02-11 16:51:02 · 669 阅读 · 0 评论 -
C++的嵌套类
C++的嵌套类意思就是类中定义的类,它和外围类的成员类似,也被相应的访问权限修饰符修饰。1 嵌套类可以直接方位外围类中的static成员变量。2 嵌套类可以通过引用,指针,或者对象来访问外围类的成员,不管该成员是public,private,protected。3 嵌套类被private修饰的时候就不能在用户代码中被定义对象,因为是private的4 外围类对嵌套类的非pu原创 2017-03-17 17:21:36 · 328 阅读 · 0 评论 -
设计模式之简单工厂模式、工厂模式、抽象工厂模式
简单工厂模式要素:具体工厂、抽象产品、具体产品概括:一系列的所有产品由同一工厂生产例子:同一工厂生产不同种类的牙膏:中华、黑人、佳洁士工厂模式要素:抽象工厂、具体工厂、抽象产品、具体产品概括:同一系列的不同产品由不同的具体工厂生产例子:公司扩大生产线,中华由中华牙膏厂生产,黑人由黑人牙膏厂生产,同理佳洁士抽象工厂模式要素:抽象工厂、具体工厂、抽象原创 2017-03-17 22:07:01 · 363 阅读 · 0 评论 -
创建型模式总结
创建类模式主要关注对象的创建过程,将对象的创建过程进行封装,使客户端可以直接得到对象,而不用去关心如何创建对象。创建类模式有5种,分别是:单例模式:用于得到内存中的唯一对象。工厂方法模式:用于创建复杂对象。抽象工厂模式:用于创建一组相关或相互依赖的复杂对象。建造者模式:用于创建模块化的更加复杂的对象。原型模式:用于得到一个对象的拷贝。为什么需要创建性模式 首先转载 2017-03-17 23:00:38 · 321 阅读 · 0 评论 -
CRITICAL_SECTION的理解
很多人对CRITICAL_SECTION的理解是错误的,认为CRITICAL_SECTION是锁定了资源,其实,CRITICAL_SECTION是不能够“锁定”资源的,它能够完成的功能,是同步不同线程的代码段。简单说,当一个线程执行了EnterCritialSection之后,cs里面的信息便被修改了,以指明哪一个线程占用了它。而此时,并没有任何资源被“锁定”。不管什么资源,其它线程都还是转载 2017-03-27 18:03:14 · 384 阅读 · 0 评论 -
c++命名规则
类/结构: 1、开头不带C,大写开头,为便于界定,每个单词的首字母要大写。 2、类的命名推荐用"名词"或"形容词+名词"的形式函数: 1、函数的命名: 函数的名称由一个或多个单词组成。开头字母小写,为便于界定,每个单词的首字母要大写。 2、函数名应当使用"动词"或者"动词+名原创 2017-03-30 16:22:55 · 1240 阅读 · 0 评论 -
VS2008用“CTRL+F”查找对话框没弹出来
在菜单里“窗口-〉重置窗口布局”就好了原创 2017-03-15 16:47:33 · 10404 阅读 · 3 评论 -
静态成员变量的初始化
我们定义如下类: 复制代码//A.hclass A{private:static const int m = 5;static int n;static vector buf;};复制代码其中包含三个私有的静态类成员,C++规定const静态类成员可以直接初始化,其他非const的静态类成员需要在类声明以外初始化,我们一般选择在类的实原创 2017-03-16 16:43:00 · 3619 阅读 · 0 评论 -
模板类的前置声明
templateclass Array;templateclass Pointer;templateclass Array_data{ friend class Array; friend class Pointer; Array_data(unsigned int n) :data(new T[n]) ,sz(n) ,use(1)原创 2017-01-15 15:29:25 · 6720 阅读 · 0 评论 -
c++ Friend
友元是指:采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分(注意友元函数不是类的一部分),但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和转载 2017-01-07 17:31:09 · 207 阅读 · 0 评论 -
MFC OnContextMenu
版权声明:www.gudianxiaoshuo.com 原创文章版权 -- 古典小说网 WM_CONTEXTMENU消息 用来响应鼠标右键消息, 它响应的不是鼠标右键按下消息,也不是鼠标右键弹起消息而是鼠标右键 依次按下弹起后触发的消息。 因此,若程序还响应了鼠标右键按下的消息OnRButtonDown,且在此响应函数中有模特对话转载 2017-01-06 10:41:58 · 2309 阅读 · 0 评论 -
在已破坏了程序状态的xxx.exe中发生了缓存区溢出
因为这个bug查了半天,只说自己遇到的情况: debug版程序没问题,release版调试的时候跳出这个bug 原因:用的底层库的头文件与库文件不一致 最后更新了头文件与库文件程序正常了原创 2016-08-29 17:59:39 · 860 阅读 · 0 评论 -
命名空间
命名空间 (C++) Visual Studio 2015 其他版本 Visual Studio 2013Visual Studio 2012Visual Studio 2010命名空间是一个声明性区域,为其内部的标识符(类型、函数转载 2016-08-23 11:30:50 · 268 阅读 · 0 评论 -
vs2008 自动调节代码格式
选中想要调整的代码,按alt + F8原创 2016-09-02 14:13:07 · 396 阅读 · 0 评论 -
数据结构与算法
http://www.cnblogs.com/kangjianwei101/p/5242697.html转载 2016-11-01 15:02:05 · 186 阅读 · 0 评论 -
《C++沉思录》之类设计者的核查表
一、你的类需要一个构造函数吗?二、你的数据成员是私有的吗?三、你的类需要一个无参的构造函数吗?四、是不是每个构造函数初始化所有的数据成员?五、类需要析构函数吗?六、类需要一个虚析构函数吗?七、你的类需要复制构造函数吗?八、你的类需要一个赋值操作符吗?九、你的赋值操作符能正确的将对象赋值给对象本身吗?十、你的类需要定义关系操作符吗?十一、删除数组你记得用del原创 2016-11-20 17:08:35 · 305 阅读 · 0 评论 -
不能将“this”指针从“const Vehicle”转换为“Vehicle &”
错误提示:error C2662: “Vehicle::copy”: 不能将“this”指针从“const Vehicle”转换为“Vehicle &”;错误原因:由于让const对象调用了非const的成员函数导致;结论:const对象只能调用const的成员函数;非const对象既可以调用const的成员函数,也可以调用非const的成员函数;原创 2016-11-27 14:38:22 · 361 阅读 · 0 评论 -
std::set 使用总结
set是有序容器,不可以对有序容器(如set、map)的元素执行赋值操作原创 2016-12-21 11:30:46 · 449 阅读 · 0 评论 -
C++中static类数据成员
C++中static类数据成员是指以下两种: 类static成员函数 和 类static数据成员一:使用类的static成员的优点1:static成员的名字是在类的作用域中,因此可以避免与其他类的成员或者全局对象名字的冲突2:可以实施封装。static成员可以是私有成员,而全局对象不可见3:通过阅读程序容易看出来static成员与特定类关联的。二:static成员的定义st转载 2016-12-26 11:20:49 · 244 阅读 · 0 评论 -
MFC主窗口可拖入文件
一、首先在mainFrame的OnCreate消息里面if (CFrameWndEx::OnCreate(lpCreateStruct) == -1) return -1;////////////////////////////////////////////////////////////////// DragAcceptFiles(TRUE); //此原创 2017-01-04 10:10:27 · 632 阅读 · 0 评论 -
MFC选择目录对话框
char szPath[MAX_PATH]; //存放选择的目录路径 CString str; ZeroMemory(szPath, sizeof(szPath)); BROWSEINFO bi; bi.hwndOwner = m_hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = szPath;转载 2016-12-27 09:58:25 · 657 阅读 · 0 评论 -
dynamic_cast <new_type> (expression)
dynamic_cast (expression)dynamic_cast运算符,应该算是四个里面最特殊的一个,因为它涉及到编译器的属性设置,而且牵扯到的面向对象的多态性跟程序运行时的状态也有关系,所以不能完全的使用传统的转换方式来替代。但是也因此它是最常用,最不可缺少的一个运算符。与static_cast一样,dynamic_cast的转换也需要目标类型和源对象有一定的关系:继承关系。转载 2016-12-28 14:31:44 · 282 阅读 · 0 评论 -
重载、重写(覆盖)和隐藏的区别
重载、重写(覆盖)和隐藏的区别一、重载 重载从overload翻译过来,是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。示例代码如下:classA{public: void test(int i); void test(double i); void test转载 2017-03-17 14:13:21 · 545 阅读 · 0 评论