C/C++
来源:互联网 发布:阿里云备案服务 编辑:程序博客网 时间:2024/04/29 07:11
C与C++的区别
答:C是结构化语言,重点在于算法和数据结构。
C++是面向对象的语言。首先要考虑的是如何构造一个对象模型,让这个模型能够配合对应的问题。
最大的区别在于,解决问题的思想方法不一样。
对C++三大特性的理解
答:C++三大特性是封装,继承和多态。
封装可以隐藏实现细节,使得代码模块化,增加代码的可复用性和可维护性。
继承可以扩展已存在的代码模块,封装和继承的目的都是为了代码重用,增加代码的复用性。
多态,一个接口,多种方法。是为了实现接口重用。增加代码的可扩充性。
const与define
答:define只是用来做文本替换,他的生命周期止于编译器,存在于程序的代码段,在实际程序中只是一个常数,一个命令的参数,没有实际的存在。
const常量存在于程序的数据段,并在堆栈分配了空间。他在程序中存在并且可以被调用及传递。
const常量有数据类型,宏常量没有数据类型,编译器可以对const常量进行类型安全检查。
C++中const的作用
答:const用于定义常量,编译器可以对其进行数据静态类型安全检查。
const修饰函数形式参数,防止传递引用参数时参数被改变
const修饰函数返回至
const修饰类的成员函数
static的作用
答:静态变量,在函数体内,函数调用过程中维持值不变
在模块内,函数体外,静态变量可以被模块内的所有函数访问,但不能被模块外的函数访问,是一个本地的全局变量。
静态函数只能被同一模块的其他函数调用
static变量与普通变量的区别
答:static全局变量只初始化一次,防止在其他文件单元中被引用。
静态局部变量只初始化一次,下一次依据上一次结果值。
静态函数在内存中只有一份,普通函数在被调用时维持一个拷贝。
sizeof与strlen的区别
答:strlen是一个函数,sizeof是关键字
sizeof操作符的结果类型是unsigned int
sizeof可以用类型做参数,strlen只能用char*做参数
数组做sizeof参数不退化,传给strlen数组降级
sizeof在编译时计算,strlen在运行时计算
sizeof参数如果是变量名可以不加括号
内联函数与宏定义的区别
答:内联函数在编译时展开,宏定义在预编译时展开
编译时,内联函数做代码嵌入,宏定义做文本替换
内联函数可以完成类型检测,语句是否正确等编译功能,宏不具备
内联函数是函数,宏不是函数
宏定义会有参数二义性问题。
指针常量与常量指针
答:常量指针就是指向常量的指针,他所指向的地址内容是不可修改的
指针常量就是指针的常量,它是不可修改地址的指针,但是可以对它指向的内容进行修改
- c
- c
- c
- c
- C
- c
- c
- c
- C+
- c
- C
- c
- c
- c
- C
- C
- c
- C
- 超实用PHP函数总结整理
- NOIP 国王游戏 codevs1198 贪心+高精度
- ManualResetEvent和AutoResetEvent——多线程
- 利用tableau集功能,分析看车潜客的颜色偏好
- xenon二级菜单
- C/C++
- php 分页 分页类 简单实用
- Linux进程通信--使用信号量
- Android沉浸式状态栏工具类,一句代码轻松搞定
- Android studio编译报错:Error:Execution failed for task ':app:transformClasses_enhancedWithInstantReloadD
- 编译spark源码
- 第二章-宝箱抽奖模块与代码设计(二)
- AlertDialog使用
- 从头开始学SQL 入门(二) select的用法