c++
文章平均质量分 87
第2梦
阳光下灿烂,风雨中奔跑!
展开
-
必须掌握的C++常用String函数
本系列将对string函数的用法以及实现做一个总结,共包括以下部分:strcspn 、strcpy 、strcat 、strchr 、strncmp 、strcmp 、strstr 、strlen原创 2017-01-22 14:53:51 · 727 阅读 · 0 评论 -
必须掌握的C++常用关键字汇总
本文将对一些常见c++关键字做一个总结,共包括如下关键字:const、extern、operator、sizeof、-static、new、volatile、union原创 2017-01-22 14:27:55 · 12477 阅读 · 3 评论 -
C/C++可变参数函数
一、C可变参数函数一般我们编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的实际参数。但在某些情况下我们希望函数的参数个数可以根据需要确定,因此c语言引入可变参数函数。典型的可变参数函数的例子有printf()、scanf()等.先看代码:printf(“hello,world!”);其参数个数为1个。printf(“a=%d,b=%s,c=%c”,a,b,c);其参原创 2017-03-10 21:29:16 · 2262 阅读 · 0 评论 -
Effective STL-尽量使用区间操作代替单元素操作
一、原因:1、代码更少,更简洁; 2、 对序列容器,还可以避免单个单个申请造成多次分配内存(拷贝开销大)二、区间操作:1)区间构造:container::container(InputIterator begin,InputIterator end);2)区间插入:对于序列容器:void Container::insert(Iterator positon,//插入位置原创 2017-02-23 10:37:02 · 828 阅读 · 0 评论 -
Effective STL-各种容器正确删除元素方法
一、去除一个容器中有特定值得所有对象1、如果容器是vector、string或deque,使用erase-remove惯用法c.erase(remove(c.begin,c.end(),value),c.end());//c为容器,value为待删值2、对于listc.remove(value);3、对于关联容器 关联容器无remove成员函数,它是调用erase函数。c.erase(value)原创 2017-02-23 10:27:41 · 808 阅读 · 0 评论 -
使用 C++11 智能指针时要避开的 10 大错误
我很喜欢新的C++11的智能指针。在很多时候,对很多讨厌自己管理内存的人来说是天赐的礼物。在我看来,C++11的智能指针能使得C++新手教学更简单。其实,我已经使用C++11两年多了,我无意中发现多种错误使用C++11智能指针的案例,这些错误会使程序效率很低或者直接崩溃。为了方便查找,我把它们按照下文进行了归类。在开始之前,我们用一个简单的Aircraft类来展示一下这些错误。cl转载 2017-02-22 23:27:27 · 1994 阅读 · 0 评论 -
类的构造函数、拷贝构造函数、赋值运算符和析构函数
class MyString{public: //构造函数 MyString(const char *str=NULL); //拷贝构造函数 MyString(const MyString &other); //赋值运算符 MyString &operator=(const MyString &other); //析构函数 ~My原创 2015-08-18 10:35:52 · 1396 阅读 · 0 评论 -
数据对齐
原博客地址:http://www.cnblogs.com/bakari/archive/2012/08/27/2658956.html一、什么是数据对齐1、现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的转载 2015-07-10 15:11:26 · 1000 阅读 · 0 评论 -
C++动态链接库DLL-非MFC动态库
一、引言 现在我们编程时,总会用到各种库文件,毫不夸张的说,没有库文件,我们编程做项目几乎寸步难行。而库文件一般又分为静态链接库(.lib)和动态链接库(.DLL)。如果采用静态链接库,则lib中的指令代码都将包含在最终生成的exe文件中。若是使用动态链接库,则其代码不会包含在EXE中,可以动态的装载和卸载DLL文件。静态链接库不讨论,只看看动态链接库。C++支持三种DLL,分别是非M原创 2015-10-14 19:46:43 · 1649 阅读 · 0 评论 -
函数重载、覆盖与隐藏
一、函数重载1、特征:1)相同的范围(在同一个类中); 2)函数名字相同; 3)参数不同; 4)有无virtual关键字不影响。2、调用调用实参与形参符合的那个函数。二、函数覆盖覆盖是指派生类函数覆盖基类函数。1、特征:1)不同的范围(分别位于派生类与基类); 2)函数名字相同; 3)参数相同; 4)基类函数必须有ovirtual 关键字,否则就是隐藏了。 2、调用1)当派生类对象派生原创 2016-12-16 19:36:58 · 426 阅读 · 0 评论 -
c++复杂指针
c++指针是一个难题,复杂指针更是一个难题,因此有必要分清指针数组与数组指针,函数指针与指针函数,并能准确识别他们,并进行灵活运用!原创 2016-12-16 09:57:15 · 1115 阅读 · 0 评论 -
C++关键字—Const
const 这个关键字还是比较重要的,需要掌握原创 2016-11-04 09:16:31 · 1672 阅读 · 0 评论 -
获取与设置windows系统下音频设备音量
一、获取设备音量/** * @brief GetAudioOutputVolumn用于获取设备输出音量 * @remark 不指定设备可能导致获取的音量为0 */int DeviceManager::GetAudioOutputVolumn( const std::string &deviceName ){ //对于DirectSound设备,获取其对应波形设备音量原创 2016-07-22 01:09:10 · 9434 阅读 · 1 评论 -
C++常见错误及解决方法
转自:http://blog.csdn.net/buaaxiao/article/details/4727803错误例子: 1.CVTRES : fatal error CVT1100: 重复的资源。type:MANIFEST, name:1, language:0×0409 LINK : fatal error LNK1123: 转换到COFF 期间失败: 文件无效或原创 2015-08-12 11:04:07 · 7776 阅读 · 0 评论 -
预编译头文件(stdafx.h)
1、概念所谓的预编译头文件,这里的头文件一般就是我们常见的的“staafx.h",这个名字是微软默认的,英文全称:Standard Application Framework Extensions.名字可以改,内容也可以改。它通常就是把一个工程中使用的一些MFC标准头文件(如windows.h,afxwin.h)进行预先编译。以后工程编译时,不在编译这部分头文件,仅仅使用编译的结果。注意,头文原创 2015-12-03 19:33:16 · 1551 阅读 · 0 评论