![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
qq_29796317
这个作者很懒,什么都没留下…
展开
-
符号常量和变量
符号常量使用关键字(const)来声明常量使用宏定义(#define)来定义常量 C++中提倡使用const来定义符号常量变量的值符号常量(const)初始化后值就不能改变变量的作用域及规则外部类型(extern)作用域是文件级的,不同源文件中可以共享该变量静态存储类型(static)作用域是整个程序,只能在当前源文件中使用自动类型(auto)和寄存器类型(register)作用域原创 2017-03-10 22:55:38 · 983 阅读 · 0 评论 -
VC++常用命名法和宏定义
匈牙利命名法规则 一般情况下,变量的取名方式为:<scope_> + <prefix_> + <qualifier>。 范围前缀_,类型前缀_,限定词。特殊的类型命名,前缀表示: 类、接口前缀 类型例子备注LmClass LmObject表示类型本身不与范围前缀结合使用IInterface 接口IUnknown 注:类名前缀改为Lm,对于非全局的类最好有语义表示其所属模块。类的实转载 2017-07-04 21:52:03 · 938 阅读 · 0 评论 -
windows编程基础
windows中常用句柄类型及其说明:常用的windows数据类型原创 2017-06-27 17:20:44 · 301 阅读 · 0 评论 -
解决This function or variable may be unsafe
用VS2013打开出现错误的代码文件步骤阅读在工程文件名处右击鼠标打开快捷菜单,找到“属性”选项,进入项目属性页面步骤阅读项目属性页面如下图所示步骤阅读在属性页面中找到“C/C++”——”预处理器“,按下图操作单击箭头指向处的按钮步骤阅读在下面的编辑窗口中添加一句命令:_CRT_SECURE_NO_WARNINGS添加完成后应用并退出再次编译并运行即可正常运行。转载 2017-08-09 11:10:44 · 321 阅读 · 0 评论 -
windows下安装gcc编译器
下载链接:gcc编辑器 - 直接提取至c盘不用安装(其它盘好像不行) - 配置环境变量 - 在命令提示符中输入g++ -v确认是否安装成功 参考资料:原创 2017-04-09 16:53:31 · 2059 阅读 · 0 评论 -
标准模板库STL学习总结
转载自:http://blog.csdn.net/timebomb/article/details/6716064 标准模板库就是类与函数模板的大集合。STL共有6种组件:容器,容器适配器,迭代器,算法,函数对象和函数适配器。1、容器:容器是用来存储和组织其他对象的对象。STL容器类的模板在标准头文件中定义。主要如下所示①序列容器基本的序列容器是上面图中的前三类:关于三者的优缺点主要是:转载 2017-08-11 16:55:28 · 380 阅读 · 0 评论 -
八皇后问题
方案一 说的有点夸装,实际上并不只是八行代码,加上前面的变量声明之类的一共有40多行的样子吧,好像是在知乎上看到的,现在有时间再把它写下来: 其中用到了一些c++11特性,例如lambda 以及给予范围的 for循环。 其他的没什么好说的,看代码,上面也有注释的。 1 #include <iostream> 2 #include <algorithm> 3 #include <vector转载 2017-08-11 20:25:42 · 406 阅读 · 0 评论 -
C++计算逆序对
转自:http://blog.csdn.net/forget_me_not1991/article/details/40394225网上有很多关于逆序对的计算方法及源代码,我仅仅在这里记录下自己的理解逆序对:设a[0…n]为包含n个不数的一个序列,如果n<m,且a[n]>a[m],则称(n,m)构成a中的一个逆序对;问题:给出一个数字序列,找出其逆序对的个数;解答:本文主要介绍采用归并排序算法计转载 2017-08-25 13:10:54 · 5923 阅读 · 0 评论 -
2.4 const限定符
const限定的变量,其值不能被改变,任何赋值行为都将引发错误。默认情况下,const对象被设定为仅在文件内有效。当多个文件同时出现了同名的const变量时,等同于在不同文件中分别定义了独立的变量。如果想在多个文件之间共享const对象,必须在变量的定义之前添加extern关键字。...原创 2018-08-16 11:26:49 · 411 阅读 · 0 评论 -
VS2013/MFC编程入门(对话框:为控件添加消息处理函数)
创建对话框类和添加控件变量在上一讲中已经讲过,这一讲的主要内容是如何为控件添加消息处理函数。 MFC为对话框和控件等定义了诸多消息,我们对它们操作时会触发消息,这些消息最终由消息处理函数处理。比如我们点击按钮时就会产生BN_CLICKED消息,修改编辑框内容时会产生EN_CHANGE消息等。一般为了让某种操作达到效果,我们只需要实现某个消息的消息处理函数。 一.添加消息处理函转载 2017-07-17 14:47:51 · 689 阅读 · 0 评论 -
vs2013MFC中静态文本框中的鼠标响应事件
控件ID要改一下名字控件Notify属性设为True静态控件增加STN_CLICKED消息响应(应该与vc中的BN_CLICKED消息是一样的)原创 2017-07-19 09:48:47 · 1241 阅读 · 0 评论 -
位运算
为什么3 ~位取反运算 后值是-4机器存储的是补码方式存取,3的话,按照8位来算就是0000 0011,取反后是1111 1100而第一位为1表示负数,负数补码表示法为原位取反,末位加1(符号位不变),1111 1100这是补码,按照负数表示法逆向表示为:先减一,为1111 1011,再取反为1000 0100(首位1为负数的符号位),转换为十进制后为-4原创 2017-03-12 20:01:17 · 224 阅读 · 0 评论 -
字节数运算符(sizeof)
字节数运算符是一个单目运算符,该运算符的作用是求得某种类型或者变量在内存中所占字节数。其使用格式如下: sizeof(<类型说明符>)或者sizeof(<变量名>) sizeof是一个比较特殊的运算符,因为sizeof运算符多了一个括号,这很容易让人认为这是一个函数而不是一个运算符,操作数只是函数的参数罢了。这一点特别需要引起注意,sizeof不是函数,它是一个运算符。原创 2017-03-12 21:38:44 · 5722 阅读 · 0 评论 -
重载 new 和 delete 运算符
重载new和delete运算符不同于其他类型的运算符重载,程序中重载了new运算符的同时也必须重载delete运算符。同时对于重载new和delete运算符的函数的参数也是有要求的,new运算符函数的第1个参数必须是size_t(C++标准库定义类型,等同于unsigned类型),而且其返回值必须是void*。delete运算符重载函数的参数必须是void*,当然还可以有其他参数。例如,实现一个D原创 2017-03-19 11:52:45 · 1218 阅读 · 0 评论 -
继承
在继承间接共同基类时只保留一份成员,声明虚基类的格式如下:class<派生类名>: virtual <继承方式> <基类名>{ //派生类体}虚基类并不是在声明基类时声明的,虚基类是在派生类的声明时候,指定继承方式下声明的。 一个基类可以在生成一个派生类时作为虚基类,当生成另外一个类时可以不作为虚基类。这样就保证了派生类中只保留一份基类的成员。 为了保证虚基类在派生类中值继承一次,原创 2017-03-27 10:07:37 · 391 阅读 · 0 评论 -
函数参数默认值设置
函数参数默认值设置规则:一个函数中如果有多个形参,那么可以给该函数的部分或 全部参数设置默认值。设置默认值顺序,在给部分参数设置默认值的时候,需要从右向左依次进行设置,在调用这个函数时,实参匹配的顺序是从左至右。如果程序中有函数声明语句,则该函数默认值应该设置在函数声明语句中,不可设置在定义语句中。如果程序中只有函数的定义(函数调用在函数定义后),那么在函数的定义中可以设置默认值。原创 2017-03-15 11:23:06 · 9621 阅读 · 0 评论 -
虚函数和多态性
抽象类也是一种特殊的类,该类不能用来定义对象,这种类存在的作用只有一个,就是被继承。如果一个类中包含一个或多个纯虚函数,就称该类为抽象类。而且,抽象类必须作为基类才有意义,抽象类又可以称为抽象基类。class <类名>{<访问权限>: virtual <返回类型> <函数名>(<参数列表>)=0; //其它纯虚函数...};抽象类的作用:抽象类可以为多个派生类提供一个公共原创 2017-03-31 10:53:26 · 371 阅读 · 0 评论 -
函数的参数传递
值传递值传递是指当发生函数调用时,给形参分配内存空间,并用实参来初始化形参(直接将实参的值传递给形参)。这一过程是参数值的单向传递过程,一旦形参获得了值便与实参脱离关系,此后无论形参发生了怎样的改变,都不会影响到实参。引用传递在子函数中对形参做的更改对主函数中的实参有效 函数最好使用引用传值方式,注意在函数内部不要再重复定义传入的参数P.S:使用引用时必须注意下列问题:声明一个引用时,必须同时对原创 2017-05-19 17:35:46 · 582 阅读 · 0 评论 -
Unhandled exception in ***.exe(OLE32.DLL):0xC0000005:Access Violation
win8/win8.1下安装vc6之后单步调试提示First-chance exception in 程序名.exe (OLE32.DLL): 0xC0000005: Access Violation做如下设置即可解决: 1、菜单Tools->Options中的Debug,Disassembly window下的Source annotation取消 2、保存设置,然后即可单步调试 3、再将T转载 2017-06-27 16:00:50 · 5120 阅读 · 4 评论 -
【C】libpng的使用
参考资料:Writing PNG Images (PNG: The Definitive Guide)Reading PNG Images (PNG: The Definitive Guide)我要讲的三个大部分分别是:1、libpng是什么,能做什么?2、怎样让自己的程序可以使用libpng库?3、怎样借助libpng读写PNG文件1、libpng是什么?libpng是一款C语言编写的转载 2017-07-17 16:10:27 · 3775 阅读 · 1 评论 -
IntelliSense: "const char *" 类型的实参与 "LPCTSTR" 类型的形参不兼容
CWnd::MessageBoxW”: 不能将参数 1 从“const char [16]”转换为“LPCTSTR 2011-06-30 10:27:50| 分类:VC学习 |大中小 订阅在外面用vs2005编写mfc程序的时候经常要MessageBox(“提示信息”)函数,在vc6.0是没有问题的,但是在vs2005却会有下面的提示:error C2664: “CWnd::Messag转载 2017-07-04 22:49:16 · 2206 阅读 · 1 评论 -
vs技巧
vs 调试时出现反汇编窗口 如何禁止方法一:重新生成解决方案,再调试。方法二:菜单-工具-选项-调试- “源代码不可用时显示反汇编”的勾去掉,同时去掉“要求原文件与原始程序完全匹配”,就OK了...转载 2018-10-11 11:41:58 · 345 阅读 · 0 评论