易错点总结
1,printf,cout 输出是从右往左压栈的。
1 int main(){ 2 int b=3; 3 int arr[]={6,7,8,9,10}; 4 int *ptr=arr; 5 *(ptr++) += 123; // 等同于 *ptr = *ptr+123; ptr=ptr++; ptr++ : 先用 ptr,再将 ptr++ 6 cout<<*arr<<endl; 7 printf("%d,%d\n",*ptr,*(++ptr)); //和下面输出相同,printf 计算参数时是从右往左压栈的; 8 cout<<*ptr<<*(++ptr)<<endl; //输出顺序从右往左 ;同上 ,输出 8 8 9 return 0; 10 }
2,类型转换。https://blog.csdn.net/gaoranfighting/article/details/44351831
1 #include<iostream> 2 #include<conio.h> 3 4 using namespace std; 5 6 int main(){ 7 float a = 1.0f; 8 cout<<(int)a<<endl; //1 9 cout<<&a<<endl; // 0x70fe3c 10 cout<<(int&)a<<endl; // 1065353216 11 cout<<boolalpha<<((int)a == (int&)a)<<endl; // false 12 13 float b = 0.0f; 14 cout<<(int)b<<endl; // 0 15 cout<<&b<<endl; // 0x70fe38 16 cout<<(int&)b<<endl; // 0 17 cout<<boolalpha<<((int)b == (int&)b)<<endl; // true 18 return 0; 19 }
3,const 的不同位置产生的区别:https://blog.csdn.net/u010571660/article/details/9623973
一个比较经典的问题--问以下两种声明的区别:
1)const char* p
2)char* const p
3)char const *p
这里的 const 关键字是用于修饰常量,书上说 const 将修饰离它最近的对象,所以,以上两种声明的意思分别应该是:
1)p 是一个常量字符的指针,不变的是 char 的值,即该字符的值在定义时初始化后就不能改变。(const char)
2)p 是一个指向字符的常量指针,不变的是 p 的值,即该指针不能再指向别的。(const p)
3)p 是一个指针,指针保存的是 char 类型,const 修饰的仍然是 char, 因为 const 只能修饰变量,不能修饰 * ,所以不变的仍然是 char 的值;(等同于 1 )
如何记忆呢?
Bjarne 在他的 《The C++ Programming Language》里给过一个助记的方法--------“以 * 分界,把一个声明从右往左读”。
注意语法:* 读作 pointer to (指向...的指针),const (常量)是形容词,char (类型变量)和 p (变量名) 都是名词。
1)const char* p 读作:p is a pointer to a const char ; 译为:p 是一个指针(变量),它指向一个常量字符(const char);
2)char* const p 读作:p is a const pointer to a char ; 译为:p 是一个常量指针(const p),它指向一个字符(变量)。
注意:
先看 const int a 和 int const a ,这里没有分界符 * ,虽然 const 的位置不同,但意思不变,它 const 修饰的是 int,常量整数;
再看 const char* p 和 char const *p ,首先以 * 分界,虽然 const 的位置改变了,但它都是在修饰 char ,字符常量;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗