【面试论述】const的作用、使用举例与#define联系

原创 2016年05月30日 17:17:03

const的作用:

    a.使用习惯,若变量的值不会被修改,则在声明时就应当加上;

    b.该关键字可用来修饰变量,函数返回值,形式参数等等,表示不可修改;

    c.增加程序的健壮性。如,

char* strcpy(char* dest,const char* src)


const的使用:

int const a;

const int a;

    均表示整形变量a的值不可修改。


int const *pa;

    表示指针指向的值不可修改,而指针变量的值可以修改。


int *const pa;

    表示指针变量的值不可修改,而指向指针变量的值可以修改。


int const * const pa;

    第一个const修饰*pa,表示指向指针变量的值不可修改。

    而第二个const修饰pa,表示指针变量的值不可修改。


#define可以代替const,且比const更好。原因在于:

    #define只要是字面值常量均可以使用,而const仅仅能使用在有变量的地方。

    如声明数组长度:

#define MAXSIZE 1000
int arr[MAXSIZE] = {0};
int const maxsize= 1000;


本文出自 “Han Jing's Blog” 博客,请务必保留此出处http://10740184.blog.51cto.com/10730184/1741791

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

面试---const与#define的区别

C++ 语言可以用const来定义常量,也可以用 #define来定义常量。但是前者比后者有更多的优点:(1)const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者...

面试总结(static、const、define)

1.static           其中.text段保存进程所执行的程序二进制文件,.data段保存进程所有的已初始化的全局变量,.bss段保存进程未初始化的全局变量(其他段中还有很多乱七八糟...

const/define/inline

  • 2012-12-16 23:30
  • 27KB
  • 下载

const #define inline

  • 2012-04-12 15:36
  • 27KB
  • 下载

广数面试题的一些总结:static,const,volatile作用

static:(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数下面就这三种使用方式及注意事项分别说明一、局部静态变量在C/C++中, 局部变量按照存储形式可分为三种auto, s...

关键字 const 的作用(面试)

我只要一听到被面试者说:"const意味着常数"(不是常数,可以是变量,只是你不能修改它),我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因...

Effective C++学记之02 使用const enums inline来代替#define

条款02 对于单纯常量,最好以const对象或enum替换#define;对于形似函数的宏,最好改用inline函数替换#define。 1首先了解一下预处理和编译的区别: 编译程序对源代码进行编...

【iOS_Development】const与#define的使用

const VS #define static && const extern && const

Effective C++(一)尽量使用const和inline来替代#define

这个条款等价于“尽量使用编译器而不用预处理” 改进1: #define PI 3.1415 在C++的编译器中,看不到PI这个符号名,因为源码在进入编译器之前就已经被预处理了。PI不会进...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)