C++
文章平均质量分 67
master-dragon
weixin:dwl_1270530306
展开
-
C++ explicit
原文地址: http://www.cnblogs.com/ymy124/p/3632634.htmlexplicit关键字注意点只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的;跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式)加了explicit 后 隐式转换将编译错误转载 2016-08-19 11:14:55 · 246 阅读 · 0 评论 -
C++ 智能指针学习 auto_ptr, unique_ptr 。。。
std::auto_ptrstd::auto_ptr的认识和使用C++智能指针(auto_ptr)详解 http://blog.sina.com.cn/s/blog_7708265a01010lyv.htmlhttp://blog.csdn.net/gui694278452/article/details/46348733内存问题 与 智能指针(一)http://blog.csdn.net/qq_转载 2017-04-02 14:05:40 · 1580 阅读 · 0 评论 -
char *a 与char a[] 的区别
原文地址http://www.cnblogs.com/kaituorensheng/archive/2012/10/23/2736069.htmlchar *a = "hello" 中的a是指向第一个字符‘a'的一个指针char a[20] = "hello" 中数组名a也是指向数组第一个字符‘h’的指针但二者并不相同:看实例:把两个字符串相加:转载 2016-08-06 15:21:48 · 2395 阅读 · 0 评论 -
C++11 正则匹配
C++11 正则的一些基本语法参考 http://blog.csdn.net/berguiliu/article/details/25831925C++11标准 STL正则表达式 验证电子邮件地址http://www.cnblogs.com/yejianfei/archive/2012/10/07/2713715.htmlC++11 正则验证 IPv4, IPv6 ipv4的 http:转载 2017-03-26 10:21:00 · 639 阅读 · 0 评论 -
c++必须在类初始化列表中初始化的几种情况??
转载地址 http://www.cnblogs.com/kaituorensheng/p/3477630.htmlclass T1 {public: T1() { cout << "T1::T1()" << endl; }};class T2 {public: T1 t1; T2(T1 tt) : t1(tt) { cout <<转载 2017-03-30 13:01:27 · 1847 阅读 · 0 评论 -
C++ 指针,常量,数组,函数,模板,内联等混淆概念
数组指针(行指针)和指针数组int (*p)[n]; // 数组指针,p是一个行指针int *p2[n]; // 指针数组 p2是数组名,p2数组中的每一个元素都是一个指针http://www.cnblogs.com/mq0036/p/3382732.html常量指针(指针指向的值不能改变)和指针常量(指针的指向不能改变,指针是常量的)int const * p1; // 常量指针 int *转载 2017-03-05 16:14:32 · 413 阅读 · 0 评论 -
C++类所占内存大小计算,sizeof关键字
文章出处:http://blog.csdn.net/chenchong08作者联系方式:vision_chen@yeah.net说明:笔者的操作系统是32位的。class A {}; sizeof( A ) = ?sizeof( A ) = 1明明是空类,为什么编译器说它是1呢?空类同样可以实例化,每个实例在内存中都有一个独一无二的地址,为了达到这个目的,编译器转载 2016-08-09 10:01:55 · 890 阅读 · 0 评论 -
C++ 类成员函数的重载(overload),重写/覆盖(override),隐藏
C++ 类层次中的同名函数,有三种关系:重载(overload)重写、覆盖(override)隐藏(hide,oversee)重载c++函数重载相同的范围(在同一个类中)相同的函数名字,不同的参数列表,与返回值类型没有关系virutal关键字可有可无重写、覆盖覆盖值: 在派生类中覆盖基类中的同名函数,要求基类函数必须是虚函数,且 1. 与基类的虚函数有相同的参数列表 2. 与基类原创 2017-02-08 21:10:44 · 15235 阅读 · 1 评论 -
C++ 类模板概念与实例,模板参数问题
什么是类模板?一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员、默写成员函数的参数、某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的)。 如果一个类中数据成员的数据类型不能确定,或者是某个成员函数的参数或返回值的类型不能确定,就必须将此类声明为模板,它的存在不是代表一个具体的、实际的类,而是代表着一类类。类模板中的成员函数全部都是模板函转载 2016-12-18 15:33:24 · 7851 阅读 · 0 评论 -
std::shared_ptr
std::share_ptr 允许多个指针执行同一个对象当指向对象的最后一个shared_ptr被销毁时,share_ptr类会自动销毁此对象。class Simple {public: Simple(int param = 0) { number = param; std::cout << "Simple: " << number << std::endl原创 2017-04-02 16:48:50 · 780 阅读 · 0 评论 -
C++运算符重载(注意点),友元(使用和优缺点)
运算符重载实例代码class A{public: int a,b; A(int _a=0,int _b=0):a(_a),b(_b){} A operator+(A & tmpa){ A t; t.a = this->a + tmpa.a; t.b = this->b + tmpa.b; return t;原创 2016-12-26 19:12:41 · 4829 阅读 · 1 评论 -
C++ 构造函数,析构函数中能否调用虚函数?
原文地址 http://blog.csdn.net/to_xidianhph_youth/article/details/39134801题1题2 题3class Base{public: virtual int foo(int x) { return x * 10; } int foo(char x[14]) { r转载 2017-02-09 15:44:39 · 2292 阅读 · 0 评论 -
C++ 继承(public, protect, private)
在继承时: 不管采用哪种形式(public, protected或private),基类中的私有成员都不可以被继承;如果非要在派生类中使用基类的私有成员,可以有两种方法:一是使用属性,二是使用友元类或友元函数。 如果采用public形式,则基类除了私有成员的其它所有都被原样的继承到派生类中;即在基类中是public的,在派生类中还是public的,在基类中是protected的,在派生类中还是p转载 2017-02-14 12:16:12 · 1291 阅读 · 0 评论 -
C++ 错题
虚函数相关class A{public: void f() { printf("A\n"); }};class B: public A{public: virtual void f() { printf("B\n"); }};int main(){ A *a = new B; a->f();原创 2016-08-15 19:43:23 · 1666 阅读 · 0 评论 -
C++拷贝构造函数 参数类型为什么是引用类型 ...
对于class CExample{};拷贝构造函数 写成如下的几种方式CExample(CExample ex){} // 直接编译错误,不允许为CExample类型CExample(CExample &ex){} // 是拷贝构造函数CExample(const CExample &ex){} // 是拷贝构造函数CExample(const CExample* c_class){} // 不转载 2016-09-09 10:11:59 · 2774 阅读 · 0 评论 -
strcpy, strncpy, 以及des,src指针地址有重合的情况?
strcpy(),以源串中的’\0’为拷贝结束标志,直到遇到该’\0’为止,然后将’\0’拷贝上.strncpy()以第三个参数N为拷贝结束标志,如果source的长度小于N,则剩余的字符全部用’\0’填充.如果source的长度大于N,则从source中截取前N个字符,拷贝过去.不包括’\0’一般的strcpy代码char * strcpy(char * strDest,const char *原创 2017-09-23 21:43:13 · 979 阅读 · 2 评论 -
C++ static的作用,非类中,和类中的static
不考虑类 static 的三个作用作用1: 隐藏当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。例如,同一模块中,一个a.c,一个main.c a.c中char a = 'A';void msg(){}在main.c中可以直接访问到,如果加上static, 那么将只能在本文件中访问到,而无法被该模块下的其他文件访问到作用2: static变量默认初始化为0* 包括原创 2017-02-07 17:15:22 · 2825 阅读 · 0 评论 -
#ifdef __cplusplus extern “C”
原文 蓝色雪狐 http://blog.163.com/hbu_lijian/blog/static/12612915320127754526771/#ifdef __cplusplus extern "C" { #endif//一段代码#ifdef __cplusplus } #endif如果你不想理解这段代码的意义,那么请你记住:在你的代码不知道是被c调用还是c++调用时,请添加此段转载 2016-10-01 13:46:53 · 442 阅读 · 0 评论 -
堆,栈,常量区,字符串等问题(二)
上一篇学习地址 char *a 与char a[] 的区别 http://blog.csdn.net/qq_26437925/article/details/52136298main(){ char*a[]={"work","at","alibaba"}; char**pa=a; pa++; printf("%s",*pa);}void GetMemory(c转载 2017-04-02 10:50:00 · 540 阅读 · 0 评论 -
C语言 字节对齐
思考:为什么要字节对齐? 内存对齐的一些原则?原文作者:andy572633 原文地址:http://blog.csdn.net/andy572633/article/details/7213465空间换时间结构体内成员按自身长度自对齐#### 结构体的总大小为结构体的有效对齐值的整数倍结构体的有效对齐值的确定(会有编译器优化问题):1)当未明确指定时,以结构体中最长的成员的长度为其有效值2)当用转载 2016-09-21 19:19:12 · 488 阅读 · 0 评论 -
C++拷贝构造函数 调用时机 -- 深浅拷贝
http://blog.csdn.net/lwbeyond/article/details/6202256拷贝函数调用时机对象以值传递方式传入函数参数对象以值传递方式从函数返回对象需要通过另外一个对象进行初始化(注意与初始化后,=区别)例题1 class MyClass{public: MyClass(int i = 0) { cout << i;转载 2016-08-05 09:20:30 · 902 阅读 · 0 评论 -
C++模板特化
http://www.jb51.net/article/56004.htm http://blog.csdn.net/kybd2006/article/details/1873803比如一个类中的equal函数,显然int 与 float/double的比较是由区别的,需要有不同的实现template <class T>class Compare{public: bool IsEqu转载 2016-12-27 09:26:54 · 285 阅读 · 0 评论 -
C++ this指针
The ‘this’ pointer is passed as a hidden argument to all nonstatic member function calls and is available as a local variable within the body of all nonstatic functions. ‘this’ pointer is a constant po转载 2016-12-18 11:07:19 · 422 阅读 · 0 评论 -
C++11 新特性
函数式编程http://www.ruanyifeng.com/blog/2012/04/functional_programming.htmllambda表达式http://www.cnblogs.com/zhuyp1015/archive/2012/04/08/2438176.html例子struct Student { unsigned ID; string name;转载 2016-08-10 16:10:23 · 550 阅读 · 0 评论 -
boost库 win7 vs2013安装
boost安装windows vs2013 安装 boost库安装过程中的问题:bootstrap.bat运行出错,cl出错 主要是配置vs2013的环境变量,参考如下 http://blog.csdn.net/daisy19900111/article/details/8035131thread库问题,具体安装参考 http://blog.csdn.net/zengraoli/artic转载 2016-09-27 18:55:14 · 836 阅读 · 0 评论 -
C++ 虚函数
c++ 虚函数的实现机制http://blog.csdn.net/jiangnanyouzi/article/details/3720807上满的文章也是转载的,没有原博文地址,。。下面是我按照着做的: (vs2013)#include using namespace std;typedef void(*Fun)(void);class Base{publ转载 2016-06-29 21:00:24 · 283 阅读 · 0 评论 -
C++ - 对象模型之各种对象的内存分配、构造和析构
原文地址: http://www.2cto.com/kf/201302/191659.html转载 2016-09-11 20:14:22 · 287 阅读 · 0 评论 -
《深度探索C++对象模型》- 编译器合成默认构造函数
原文地址: http://blog.csdn.net/ljianhui/article/details/46247897编译器需要的时候是遇到如下四种情况的时候,它需要为以下四种类型的类合成一个默认的构造函数: 1)类的成员变量带有默认构造函数 2)类的基类带有默认构造函数 3)类带有virtual函数 4)类带有一个virtual基类 且合成操作只有在构造函数真正需要被调用时转载 2016-09-11 16:53:32 · 517 阅读 · 0 评论 -
构造函数可以调用虚函数吗?语法上通过吗?语义上可以通过吗?
问题回答: 可以;通过(程序可以正常运行);不通过(不是我们想要的结果)。原文链接:http://www.cnblogs.com/hellogiser/p/whether-constructor-can-call-virtual-function.html#include <iostream>using namespace std;class Base{public: Base()转载 2016-09-10 16:57:54 · 2025 阅读 · 0 评论 -
C++ 异常
《C++ primer plus 第六版》异常处理之abort(异常终止)int Divide(int a,int b){ if(b == 0) { cout << "b is zero" << endl; std::abort(); // 这句执行会直接退出程序,而不是回到main函数 } return a / b;}int ma原创 2016-12-28 10:13:21 · 453 阅读 · 0 评论 -
如何设计一个单例模式
单例类最简单的C++实现class Single{private: static Single* m_pInstance;public: Single(){} ~Single(){ if(m_pInstance != NULL) free(m_pInstance); } static Single* getInsta转载 2016-12-30 17:06:12 · 543 阅读 · 0 评论 -
C++ 类模板
《C++ Primer Plus》stack模拟#include <string>#include<iostream>using namespace std;template<class Type>class Stack{private: enum{MAX = 10}; Type items[MAX]; int top;public: Stack();原创 2016-09-19 13:30:17 · 351 阅读 · 0 评论 -
C++函数重载
转载地址 http://blog.csdn.net/candcplusplus/article/details/12746975 阅读原文并实践函数重载,不同的符号表function_re.cpp#include <cstdio>#include <iostream>using namespace std;void func(){}void func(int a){}int func(int转载 2016-12-19 15:30:01 · 488 阅读 · 0 评论 -
C++在类的成员函数中调用delete this
原文地址 http://blog.sina.com.cn/s/blog_4b4cf2af0100ywgv.html例子1 delete this后,调用成员函数 showA(), 使用this指针操作了 数据成员,值是不可预期的 func()是虚函数,需要用到虚函数表指针,释放this后,虚函数指针可能无效,这样造成程序崩溃。例子2 析构函数中调用delete this; delet转载 2017-02-09 18:12:05 · 2502 阅读 · 0 评论 -
C++ STL相关 持续学习中。。。
c++学习网址 http://www.cplusplus.com/源代码参考 http://www.cnblogs.com/lfsblack/archive/2012/11/10/2764334.htmlstl 6大组件vectorvector的工作原理是系统预先分配一块CAPACITY大小的空间,当插入的数据超过这个空间的时候,这块空间会让某种方式扩展,但是你删除数据的时候,它却不会缩小。转载 2016-09-14 15:51:42 · 564 阅读 · 0 评论 -
C++ 4种Cast
C语言的基本类型转换字节截断补充需要的字节直接利用编译器,查看内存后,可以自己计算值是什么 一般的int, char, float,double等等cplusplus英文解释 http://www.cplusplus.com/doc/tutorial/typecasting/参考博文 http://blog.chinaunix.net/uid-26548237-id-3954104.ht转载 2017-01-18 14:25:40 · 654 阅读 · 0 评论 -
C++ 内存问题 auto_ptr
c/c++内存使用内存问题野指针一些内存已经被释放了,之前指向它的指针仍然在被利用。这些内存有可能在运行时被系统重新分配给其他程序使用,从而导致无法预测的错误重复释放释放已经释放了的内存,或者释放配重新分配过的内存 delete/free后,应该接着设置为NULL;内存泄漏不再使用的内存单元如果没有被释放就会导致内存泄漏。如果程序不断地重复进行这类操作,将会导致内存占用剧增char*转载 2016-12-19 12:52:24 · 926 阅读 · 0 评论 -
C++ const
《Effective C++》 use const whenever possileconst 语义约束,”不被改动”的对象例如,strcpy函数不允许对原串修改,所以用到constchar *strcpy(char *strDest, const char *strSrc); 常量const 把一个对象转换成常量,不被修改且必须初始化 例如const int i , j=2; // 错误, i转载 2016-12-18 14:30:02 · 235 阅读 · 0 评论 -
C++ 析构函数设为虚函数是必要的?
原文:http://www.cnblogs.com/skynet/p/3343726.html===class Base{public: virtual void f(){ cout << "Base::f()" << endl; } ~Base() { cout << "~Base" << endl; }};class Derived :pub转载 2016-09-07 16:24:54 · 288 阅读 · 0 评论 -
c++ Volatile关键词深度剖析
原文地址:何登成的技术博客 http://hedengcheng.com/?p=725\* int setjmp(jmp_buf env) 创建本地的jmp_buf缓冲区并且初始化,用于将来跳转回此处。这个子程序[1] 保存程序的调用环境于env参数所指的缓冲区,env将被longjmp使用。如果是从setjmp直接调用返回,setjmp返回值为0。如果是从longjmp恢复的程序调用环境返回转载 2016-08-17 19:30:12 · 620 阅读 · 0 评论