C++-day1 0603

文章详细阐述了C++中const关键字在指针声明中的不同用法,包括constchar*p等五种形式,明确了可变与不可变的对象。同时,介绍了命名空间的定义、使用方式及注意事项,强调了命名空间在避免名称冲突和组织代码结构中的重要性。
摘要由CSDN通过智能技术生成

1.整理思维导图


2.有以下定义,说明哪些量可以改变哪些不可以改变?
const char *p;
const (char *) p;
char *const p;
const char* const p;
char const *p;
(Char *) const p;
char const* const p;

const char *p;:指向字符常量的指针,可更改指针本身,但不能更改所指向的字符内容。
const (char *) p;:与const char*p相同

char *const p;:指向字符变量的常量指针,不能通过指针更改指向地址,但可以更改所指向的字符内容。
const char* const p;:指向字符常量的常量指针,既不能通过p指针更改指向地址,也不能改变所指向的字符内容。
char const *p;:指向字符常量的指针,类似于第一种情况。也就是说,可以更改指针本身,但不能更改所指向的字符内容。
(char *) const p;:指向常量地址的字符指针,不能改变指针本身,但可以通过指针更改所指向地址上的字符。
char const* const p;:指向字符常量的常量指针,既不能通过p指针更改指向地址,也不能改变所指向的字符内容。此处const修饰符的顺序可以稍作修改,如const (char const*) p;。


3.总结命名空间使用时的方式和注意事项

  1. 命名空间的定义格式为:
namespace namespace_name {
    // 命名空间内的定义
}
  1. 命名空间的名称可以由多个标识符组成,用作命名空间的名称要有意义,便于理解。

  2. 命名空间内可以包含变量、函数、类、结构体等定义,这些定义都属于该命名空间,可以在该命名空间内直接使用。

  3. 可以通过 using 关键字来引入某个命名空间,这样就可以在当前作用域内使用该命名空间内的定义。

  4. 同一命名空间内的名称不能重复定义,但不同命名空间内的名称可以相同。

  5. 可以通过 namespace 定义嵌套命名空间,在使用时需要指定完整的命名空间路径。

  6. 命名空间的名字空间外还可以使用,因此应该避免在全局命名空间内定义过多的名称,以免与其他库或代码发生冲突。

  7. 在头文件中声明命名空间时应该避免使用 using 关键字,因为头文件可能被多个源文件引用,会导致名称冲突。

  8. 通常情况下,在命名空间内定义的名称应该使用命名空间限定符来进行访问,在全局作用域内定义的名称则不需要。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值