||
程序员面试宝典学习---第五章
1. 赋值语句:c++运算符的功能、 优先级 和 结合性
优先级高的先计算,同优先级的按结合性来
2. printf(“%d,%dn”,*ptr, *(++ptr)) printf 是从右到左压栈的
3. a^b = |a-b|
程序员面试宝典学习---第六章
1. #define宏中的参数要用括号括起来且末尾无分号,注意类型
#define second_num_year (60*60*24*365)UL
#define MIN(A,B) ((A)<=(B)? (A):(B))
2. const问题
int b = 500;
const int * a = &b; (1) const在*左侧表示指针所指内容为常量;只能改变b的值来改变指针指向
int const * a = &b; (2) 同上
int * const a = &b; (3) const在*右侧表示指针本身是常量, ++a是不合法的。且需要初始化
const int * const a = &b; (4) 双const表示同时具有(1)(3)的作用
=====
const成员函数 定义在类里面的成员函数 int getY() const; const表示该函数不会改变数据成员
的值;如果是 const int getY();则表示返回值为常量。
在const成员函数中,想要修改类的成员变量,需要在该成员变量名前加上mutable;eg:mutable int a
c++中能用const的不用define
3. sizeof
指针不分类型,大小固定,均为4个字节
结构体内存以最长的数据单位进行对其,整体长度是最长单位的整数倍。
如果程序中出现static 静态变量,则由于其存放在全局数据区,而sizeof是计算栈的大小,
故static变量不参与sizeof的计算
sizeof是运算符,strlen是函数,其参数只能是char*类型,且遇到 为止
4. inline内联函数 是直接将代码嵌入到程序中
适用于: 一个函数不断被重复调用;函数只有短短几行,且不包括for、while、switch循环;
不应该出现在函数的声明中
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-5-10 02:44
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社