该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处
本文章博客地址:https://cplusplus.blog.youkuaiyun.com/article/details/105089613
C/C++基础知识
- 简介
- 变量声明和定义区别
- "零值比较"?
- strlen和sizeof区别
- 同一结构体不同对象可以互相赋值吗
- 结构体内存对齐问题
- static作用是什么?在C和C++中有何区别?
- 结构体和类的区别?
- malloc和new的区别?
- 指针和引用区别?
- 宏定义和函数有何区别?
- 宏定义和const区别?
- 宏定义和typedef区别?
- 宏定义和内联函数(inline)区别?
- 条件编译#ifdef, #else, #endif作用?
- 区别以下几种变量?
- volatile有什么作用?
- 什么是常引用?
- 区别以下指针类型?
- 常量指针和指针常量区别?
- a和&a有什么区别?
- 数组名和指针区别?
- 野指针是什么?
- 堆和栈的区别?
- delete和delete[]区别?
- 面向对象三大特性?
- public/protected/private的区别?
- 对象存储空间?
- C++空类有哪些成员函数?
- 构造函数能否为虚函数,析构函数呢?
- 构造函数调用顺序,析构函数呢?
- 拷贝构造函数中深拷贝和浅拷贝区别?
- 浅拷贝仅仅是拷贝指针字面值。
- 拷贝构造函数和赋值运算符重载的区别?
- 虚函数和纯虚函数区别?
- 覆盖、重载和隐藏的区别?
- 在main执行之前执行的代码可能是什么?
- 哪几种情况必须用到初始化成员列表?
- 什么是虚指针?
- 标准模板库怎么用?
- 标准模板库怎么实现?
- 标准模板库如何避免错误?
- 编译及调试
- 预处理
- 编译
- 链接
- 静态链接
- 动态链接
- makefile编写
简介
C/C++的内容又多又杂,常常看到有人罗列相关书单,觉得毫无意义,我不相信他们真的完全掌握了其中任何一本。学习任何东西,首先要掌握基本概念,基础不牢地动山摇,因为高级的内容都是通过低级的概念来描述的。当基本概念都没理解透,学习再多都是空中楼阁。这里罗列了一些听基本的问题,虽然看着不难,但是精确理解每句话中的每个词真的并不容易。
变量声明和定义区别
声明仅仅是把变量的声明的位置及类型提供给编译器,并不分配内存空间;定义要在定义的地方为其分配存储空间。
相同变量可以再多处声明(外部变量extern),但只能在一处定义。
“零值比较”?
bool类型:if(flag)
int类型:if(flag == 0)
指针类型:if(flag == null)
float类型:if((flag >= -0.000001) && (flag <&