学c++要了解什么(3)
学c++要了解什么
四、关于const
一般的const变量:
下面两个声明都指向一个const int类型的指针,指针所指向的内存不能被修改,但指针可以指向另一个内存:
const int *p;
int const *q;
int类型的const指针应该这样声明。指针所指向的内存可以被修改,但指针不能指向另一个内存
int * const r= &n;
声明一个指向const int类型的const指针:
const int * const p=&n;
const在函数声明中的含义:
const int& SetPoint(const int& param) const
第一个const:
函数的返回值限定为const,即返回值不能被修改。const int a=SetPoint(...) a在此之后便不能被修改。
第二个const:
指函数的形参为const类型,函数体内不能被修改.
第三个const:
表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。
类的const和static成员变量的初始化:
对于static成员变量,如果同时是const的,可以在类定义中初始化,否则只能在类定义外部初始化。
非static的const成员变量只能在构造函数的初始化列表中初始化。(ClassName():m_1(1){};)
五、一些数据类型和变量赋值语法
1、union 中的所有被声明的元素占据同一段内存空间,其大小取声明中最长的元素的大小。union 的用途之一是将一种较长的基本类型与由其它比较小的数据类型组成的结构(structure)或数组(array)联合使用。
2、long double和float变量的赋值方法:
3.14159L // long double
6.02e23f // float
3、容易引起理解错误的定义语句:int* p,q;
第一眼看去,好像是p和q都是int*类型的,但事实上,只有p是一个指针,而q是一个最简单的int型变量。同时定义两个指针的语法是:int *p1, *p2;
4、定义一个指向int[4]数组的指针变量
int (*p)[4]=RollNum;
这里,p被声明为一个指向一个4元素(int类型)数组的指针。
5、未指定size情况下,char数组的大小由初始化字符串决定:
我们可以用下面两种方法的任何一种来初始化字符串mystring:
char mystring [ ] = { 'H', 'e', 'l', 'l', 'o', '/0' };
char mystring [ ] = "Hello";
在两种情况下字符串或数组mystring都被定义为6个字符长(元素类型为字符char):组成Hello的5个字符加上最后的空字符('/0')。在第二种用双引号的情况下,空字符('/0')是被自动加上的。两种情况下sizeof应该都是6,strlen都是5。
六、常用的几个标准C++函数
1、cout和cin的用法:
cout << "xxx" << endl;
cin >> "yyy";
2、常用的字符串函数:
strcat //字符串拼接
strcpy
strncpy
strcmp //字符串比较,相同返回0
七、switch-case的写法
switch (expression)
{
case constant1:
block of instructions 1
break;
case constant2:
block of instructions 2
break;
.
.
.
default:
default block of instructions
}
看过“学c++要了解什么“的人还看了: