文章目录
  1. 1. using
  2. 2. 共用体union
  3. 3. 枚举类型
  4. 4. new和delete
  5. 5. this、const常量成员函数

月_2016-11-03
C++ 零碎笔记:
using

C++ Primer第5版

using

using声明(using declaration):
有了using声明就无须专门的前缀(形如命名空间::)也能使用所需的名字了。

using的声明形式:

1
using   namespace::name; 

一旦声明上了上述语句,就可以直接访问命名空间的名字:

1
2
3
4
5
6
7
8
9
10
#include<iostream>
using std::cin;
int main()
{
int i;
cin>>i; //正确:cin和std::cin含义相同
cout<<i; //错误:没有对应的using声明,必须使用完整的名字
std::cout<<i; //正确:显示地从std中使用cout
return 0;
}

每个名字都需要独立的using声明;


共用体union

共用体是指将不同类型的数据项存放于同一段内存单元中的一种构造数据类型,也可以称为联合体。

共用体变量所占内存的字节长度等于各个成员最长的成员长度,而结构体变量所占的内存长度等于各个成员长度之和。

共用体类型定义的一般格式

1
2
3
4
5
6
union uType                 //共用体uType,4Byte
{
char cValue; //字符型变量,1Byte
short sValue; //短整型变量,2Byte
long lValue; //长整形变量,4Byte
}

枚举类型

枚举类型,顾名思义,“枚”作为量词,作“个”讲,那么枚举,就是一个一个的列举,如果一件事情能够被一个一个的列举,那么它的数量肯定就是有限的,否则是不能被一一列举出来的。所以枚举类型即为能被列举的常量的一个集合。

在生活中,枚举的例子随处可见,比如礼拜几,那么就可以作为一个枚举变量。这个变量所存储的值,是有限的,且,能被我们所列举。再比较说,性别。它也可以作为一个枚举类型.

1
2
3
4
5
6
7
8
9
10
枚举类型的定义写结构体的定义相似,其形式为:

enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],

...
标识符[=整型常数],

} 枚举变量;

如果枚举没有初始化, 即省掉”=整型常数”时, 则从第一个标识符开始,依次次赋给标识符0, 1, 2, …。但当枚举中的某个成员赋值后, 其后的成员按依次 加1的规则确定其值。

例如:

1
enum string{x1, x2, x3, x4}x; 

x1, x2, x3, x4的值分别为0, 1, 2, 3。

当定义改变成:

1
2
3
4
5
6
7
 enum string 
{
x1,
x2=0,
x3=50,
x4
}x;

则x1=0, x2=0, x3=50, x4=51
注意:

  1. 枚举中每个成员(标识符)结束符是```**,**不是**;**, 最后一个成员可省略 **,**``

  2. 初始化时可以赋负数, 以后的标识符仍依次加1。

  3. 枚举变量只能取枚举说明结构中的某个标识符常量。
    例如:

    1
    2
    3
    4
    5
    6
    7
    8
    enum string 
    {
    x1=5,
    x2,
    x3,
    x4,
    };
    enum strig x=x3;

此时, 枚举变量x实际上是7。


new和delete

动态内存分配可以保证我们在程序运行过程中按照实际需求盛情适量的内存,使用结束后还可以释放。

动态数组程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<string>
using namespace::std;
using std::string;
void main( )
{
float(*cp)[5]; //该语句是定义一个数组指针,指向含5个元素的一维数组。
int i, j;
cp = new float[3][5]; //可以这样赋值的吗?
for (i = 0; i < 3; i++)
for (j = 0; j < 5; j++)
*(*(cp + i) + j) = float(i * 2 + j);

for (i = 0; i < 3; i++)
{
for (j = 0; j < 5; j++)
{
cout << cp[i][j] << " ";
}
cout << endl;
}
delete[] cp;
}

运行结果:

1
2
3
0 1 2 3 4
2 3 4 5 6
4 5 6 7 8

this、const常量成员函数

(P231)

  1. this指针是一个隐含于每一个类成员函数中的特殊指针,它指向正在被成员函数操作对象的本身。

任何对类成员的直接访问都被看作this的隐式引用,this是一个**常量指针**

  1. C++语言允许把const关键字放在成员函数的参数列表之后,此时,紧跟在参数列表后面的const表示this是一个指向常量的指针。这样使用const的成员函数被称作常量成员函数(const member function)
  • C++ typedef struct

https://www.cnblogs.com/qyaizs/articles/2039101.html

文章目录
  1. 1. using
  2. 2. 共用体union
  3. 3. 枚举类型
  4. 4. new和delete
  5. 5. this、const常量成员函数