转自:jihite 构造函数、析构函数、赋值函数是每个类最基本的的函数。每个类只有一个析构函数和一个赋值函数。但是有很多构造函数(一个为复制构造函数,其他为普通构造函数。对于一个类A,如果不编写上述四个函数,c++编译器将自动为A产生四个默认的函数,即: A(void) //默认无参数构造函数 A( ...
分类:
其他好文 时间:
2017-08-17 10:18:29
阅读次数:
152
//构造文件File类 File f=new File(fileName); //判断是否为目录 f.isDirectory(); //获取目录下的文件名 String[] fileName=f.list(); //获取目录下的文件File[] files=f.listFiles(); 1、Java ...
分类:
编程语言 时间:
2017-08-16 14:02:19
阅读次数:
185
返回值优化(Return Value Optimization,简称RVO)是一种编译器优化机制:当函数需要返回一个对象的时候,如果自己创建一个临时对象用于返回,那么这个临时对象会消耗一个构造函数(Constructor)的调用、一个复制构造函数的调用(Copy Constructor)以及一个析构 ...
分类:
编程语言 时间:
2017-08-08 20:45:32
阅读次数:
291
在C++中存在一个特殊函数,他就是复制构造函数,假如我们有类A,如果有A a;A b=a; 在这种情况下利用A类变量a来给同是A类变量的b来赋值,这个时候类会使用复制构造函数,如果我们不显式声明复制构造函数,那么类将会调用默认的复制构造函数。下面的代码说明了这一情况,如果我们将类StringBad中 ...
分类:
编程语言 时间:
2017-07-17 20:10:59
阅读次数:
120
weak_ptr是辅助shared_ptr的智能指针。就像它的名字一样。是个“弱”指针;仅有几个接口。仅能完毕非常少工作。它能够从一个shared_ptr或weak_ptr对象构造。获取对资源的观測权。它是没有共享资源的,所以它的对象的创建不会引起指针引用计数的添加,它的对象的析构也不会引起计数器的 ...
分类:
其他好文 时间:
2017-07-17 13:16:50
阅读次数:
257
泛型程序设计的基本概念 编写不依赖于具体数据类型的程序 将算法从特定的数据结构中抽象出来,成为通用的 C++的模板为泛型程序设计奠定了关键的基础 术语:概念 用来界定具备一定功能的数据类型。例如: 将“可以比大小的所有数据类型(有比较运算符)”这一概念记为Comparable 将“具有公有的复制构造 ...
分类:
编程语言 时间:
2017-07-08 14:11:38
阅读次数:
229
本篇是介绍C++的构造函数的第二篇(共二篇),属于读书笔记,对C++进行一个系统的复习。 复制构造函数 复制构造函数是构造函数的一种,也被称为拷贝构造函数,他只有一个参数,参数类型是本类的引用。默认构造函数(即无参构造函数)不一定存在,但是复制构造函数总会存在。因为只要没有自己写的复制构造函数,就会 ...
分类:
编程语言 时间:
2017-06-14 02:26:53
阅读次数:
110
noncopyable 功能 同意程序轻松实现一个不可复制的类。 需包括头文件 #include<boost/noncopyable.hpp> 或 #include<boost/utility.hpp> 原理 在c++定义一个类时。假设不明白定义复制构造函数和复制赋值操作符。编译器会为我们自己主动生 ...
分类:
其他好文 时间:
2017-06-10 22:39:22
阅读次数:
261
string类的构造函数: string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的s ...
分类:
编程语言 时间:
2017-06-09 23:35:29
阅读次数:
215
C++11新特性 C++11已经推出三年了(2011),编译器GCC4.7、Clang3.1在2012年已经逐渐完好,VS2013也已经支持相关特性,GCC4.8.1支持所有特性。只是新特性似乎在工业界并未得到太多应用,可能出于兼容性和稳定性的考虑吧。 推出的新特性还是相当的丰富。看以下这张图就知道 ...
分类:
编程语言 时间:
2017-06-02 14:47:13
阅读次数:
291