发现字符串问题中 string 好厉害~string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;strin...
分类:
编程语言 时间:
2015-08-18 16:05:25
阅读次数:
184
1. 对于内置类型,如果变量在全局作用域内定义,默认初始化为0,如果变量在局部作用域内定义,默认不进行初始化;对于类类型,默认调用默认构造函数进行初始化,如果没有默认构造函数,则必须显式初始化.2. 构造函数对成员进行初始化的动作发生在初始化列表中而不是函数体内,在函数体内进行的"初始化"实际上是赋...
分类:
编程语言 时间:
2015-08-18 13:47:53
阅读次数:
146
类通过一个特殊的构造函数来控制默认初始化过程,这个函数就是默认构造函数,默认构造函数无需任何实参。我们可以显示的定义默认构造函数也可以让编译器为我们生成默认构造函数。默认构造函数以如下规则初始化累的数据成员:
如果存在类内初始值,用它来初始化成员。否则,默认初始化该成员。
class Sales_data {
public:
std::string bookNo;
unsign...
分类:
编程语言 时间:
2015-08-18 12:12:24
阅读次数:
409
这一章的时候,才明白什么是编译器的声明只会是一个默认的构造。这也解释了为什么同一似乎没有意义的界定,如果不还声明默认构造函数的意义。Q:当编译器隐含定义了一个默认的构造函数。答: 一个隐式声明的默认构造函数仅仅有在编译器须要的时候才隐式定义一个默认构造函数。仅仅有例如以下情况其才是必须的。1、拥.....
分类:
编程语言 时间:
2015-08-16 21:01:13
阅读次数:
116
1:string对象的定义和初始化以及读写 string s1; 默认构造函数,s1为空串 string s2(s1); 将s2初始化为s1的一个副本 string s3("valuee"); 将s3初始化一个字符串面值副本 string s4(n,'c'); 将s4 初始化为字符...
分类:
其他好文 时间:
2015-08-11 15:27:20
阅读次数:
82
Pair类型概述pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下:pair a;表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。pair a("James", "Jo...
分类:
编程语言 时间:
2015-08-08 10:27:11
阅读次数:
135
类定义中,如果未提供自己的拷贝构造函数,则C++提供一个默认拷贝构造函数,就像没有提供构造函数时,
C++提供默认构造函数一样。
C++提供的默认拷贝构造函数工作的方法是:完成一个成员一个成员的拷贝,如果成员是类对象,则调用
其拷贝构造函数或者默认拷贝构造函数。
/*--------------------------------------
在默认拷贝构造函数中,拷贝的策略是逐个成...
分类:
编程语言 时间:
2015-08-06 13:16:32
阅读次数:
154
以下是Android API中的一个典型的Looper thread实现://Handler不带参数的默认构造函数:new Handler(),实际上是通过Looper.myLooper()来获取当前线程中的消息循环,//而默认情况下,线程是没有消息循环的,所以要调用 Looper.prepare(...
分类:
移动开发 时间:
2015-08-04 18:50:49
阅读次数:
160
C++ defaul construct :缺省构造函数(默认构造函数)定义:第一种 构造函数没有参数,即是 A()形式的 第二种 构造函数的全部参数由缺省值提供,A(int a=0,int b=0)编译器添加的默认构造函数的条件: 如果创建一个类你没有写任何构造函数,则系统会自动生成默认...
分类:
编程语言 时间:
2015-08-02 22:51:23
阅读次数:
138
大多数C++书籍都说在我们没有自己定义构造函数的时候,编译器会自动生成默认构造函数。其实这句话我一直也是深信不疑。但是最近看了一些资料让我有了一点新的认识。其实我觉得大多数C++书籍之所以这样描述其实是玩了文字游戏的。如果说编译器自动产生的默认构造函数对于我们的类没有任何作用,也就是说在编译器默认生...
分类:
编程语言 时间:
2015-07-31 12:54:40
阅读次数:
134