KLSeis

导航

 

一、

下面的语句都在main函数中

char* p1 = "abcd";   char* p2 = "abcd";  *p1 = 'e';         char ch1[] = "abcd";   char ch2[] = "abcd";   ch1[0] = 'e';

*p1 = 'e'; 执行时报错“写入时产生冲突”。     ch1[0] = 'e';正确

p1、p2指向的字符串“abcd”放在内存里的常量区,并且p1、p2指向的内存地址相同;数组ch1、ch2里存放的字符串放在内存里的栈中,并且ch1、ch2指向的内存地址不同。

二、构造函数中成员变量的赋值(assignment)与初始化(initialization)

Student::Student( 形参可有可无 ){ [1] }

在构造函数函数体内(即[1]处)书写的语句都属于赋值(比如:m_value = 12; m_chengji = chengji; 无论怎么写都属于赋值)

Student::Student(const double& chengji)
:m_age(12),m_chengji(chengji) [2]
{}

在[2]处书写的语句都属于初始化

posted on 2014-03-01 22:31  KLSeis  阅读(138)  评论(0编辑  收藏  举报