The C++ Programming Language 读书笔记(三)
2017-04-07 13:33
302 查看
本篇笔记是“指针,数组和结构”这一章的。
一个字符串包含的字符个数比它看起来的字符数要多一个,它总由一个空字符‘\0’结束。例如sizeof(“both”)的值是5。注意:字符串的类型时“适当个数的const字符的数组”,所以“both”的类型就是const char[5].
可以用字符串给一个char*赋值,允许这样做的原因是在以前的c和c++的定义中,字符串的类型就是char*.但是要注意:通过char*这种指针去修改字符串是错误的。比如以下代码
要想改变字符串的值必须先把字符串复制到数组里:
3.数组可以说是非常低级的,不要用了,用标准库里面的vector或者string。
4.复杂的指针算术通常并不必要,最好避免使用。
5.常量是非常有用的,应该在程序中系统的使用常量,这对于程序维护可读等各方面都好处极大。
6.关于指针和常量
7.一个引用就是某对象的另一个名字。引用的主要用途是为了描述函数的参数和返回值,特别是为了运算符的重载。
一个字符串包含的字符个数比它看起来的字符数要多一个,它总由一个空字符‘\0’结束。例如sizeof(“both”)的值是5。注意:字符串的类型时“适当个数的const字符的数组”,所以“both”的类型就是const char[5].
可以用字符串给一个char*赋值,允许这样做的原因是在以前的c和c++的定义中,字符串的类型就是char*.但是要注意:通过char*这种指针去修改字符串是错误的。比如以下代码
void f(){ char*p="both"; p[2]='a'; }//字符串是常量,给常量赋值无意义
要想改变字符串的值必须先把字符串复制到数组里:
void f(){ char p[]="both"; p[2]='a'; }
3.数组可以说是非常低级的,不要用了,用标准库里面的vector或者string。
4.复杂的指针算术通常并不必要,最好避免使用。
5.常量是非常有用的,应该在程序中系统的使用常量,这对于程序维护可读等各方面都好处极大。
6.关于指针和常量
voidf(){ char s[]="both"; char *q; const char*p=s;//表示p指向的东西变为了常量,不准改变 p[2]=a//这是错误的 p=q;//指针是可以指向别的东西的 }
void f(){ char s[]="both"; char *q; char *const p=s/*此时的p是常量指针,也就是说,p只能指向s了,不能指向别的了*/ p=q;//报错 }
void f(){ char s[]="both"; char*q; const char *const p=s; p[3]=a;//报错 p=q//报错 }
7.一个引用就是某对象的另一个名字。引用的主要用途是为了描述函数的参数和返回值,特别是为了运算符的重载。
相关文章推荐
- 读书笔记:《The C++ programming Language》 第五章
- 读书笔记:《The C++ programming Language》 第五章
- The C++ Programming Language 读书笔记 ch11
- 读书笔记:《The C++ programming Language》 第四章
- The C++ Programming Language 读书笔记 ch12(1)
- 《The C++ Programming Language》读书笔记
- The C++ Programming Language 读书笔记(二)
- 《The C++ programming language》读书笔记(2)——第二章:C++ 概览
- <The C++ Programming Language> 读书笔记
- <The C++ Programming Language> 读书笔记
- The C++ Programming Language 读书笔记(一)
- 《The C++ programming language》读书笔记(1)——第一章:致读者
- The C++ Programming Language Chapter 3 ( 读书笔记)
- 《The C++ Programming Language》第三章读书笔记之忠告
- The C++ Programming Language 读书笔记 ch12 (2)
- 《The C++ Programming Language》第四章读书笔记之忠告
- The C++ Programming Language 读书笔记(四)
- The C++ Programming Language 读书笔记 ch13
- The C++ Programming Language 第二章
- Bjarne Stroustrup(BS)博士在 The C++ Programming Language(Special Edition)中对读者的忠告1(摘抄)