当前位置: 首页 > news >正文

中山市网站制作建设网站只

中山市网站制作,建设网站只,广告设计公司服务不到位,wordpress能改什么100编程书屋_孔夫子旧书网 某日二师兄参加XXX科技公司的C工程师开发岗位第7面: 面试官:C中,static和const的关键字有哪些用法? 二师兄:satic关键字主要用在以下三个方面:1.用在全局作用域,修饰的变量或者…

100编程书屋_孔夫子旧书网

某日二师兄参加XXX科技公司的C++工程师开发岗位第7面:

面试官:C++中,staticconst的关键字有哪些用法?

二师兄:satic关键字主要用在以下三个方面:1.用在全局作用域,修饰的变量或者函数为静态的,限制在本文件内使用。2.方法内修饰修饰静态局部变量,在第一次访问的时候初始化。3.内类修饰成员函数和成员变量,此函数或变量由类持有,而非类的对象持有。

二师兄:const关键字主要也有三个用途:1.修饰函数参数,则在函数内部不可以修改此参数。2.修饰类的成员方法,表面此方法不会更改类对象的任何数据。3.修饰变量,表明变量不可以被修该。

面试官:现在两个指针,一个是 const int*,另一个是int * const,两者有什么区别?

二师兄:这要要看const* 的位置,const在前称为常量指针,const在后称为指针常量。常量指针的指针部分可变,指针指向的内容不可变。指针常量则相反,指针指向的内容可变,指针不可变。

面试官:嗯,那么你知道顶层const和底层const吗?

二师兄:额。。。不知道。。。

面试官:知道constexpr关键字的作用吗?

二师兄:了解一些。constexpr关键字修饰的变量具有编译器求值的功能。修饰的函数是否在编译器求值要取决于传入的参数是不是编译器确定的,这属于元编程的范畴。

面试官:嗯,那你知道constevalconstinit这两个关键字的作用吗?

二师兄:额。。。了解过一些,忘记了。

面试官:好的,回去等通知吧。

让我们来复盘一下今日二师兄的表现:

const在前称为常量指针,const在后称为指针常量。

这里的表述仁者见仁智者见智。但是在大名鼎鼎的《C++ Primer Edition 5》中文版中,const int* 被称为指向常量的指针,而int* const则被称为常量指针。这种表述更容易理解两种指针的差异。

你知道顶层const和底层const吗?

这里的顶层const和底层const概念主要是为了区分const修饰的是变量本身还是变量指向的内容。

int i = 42;
const int ci = 42;//顶层const
const int* pi = &i; //磁层const,因为const修饰的是i所在的地址,不能通过pi去修改i,但是可以修改pi
int* const pi2 = &i;//顶层const,因为pi2无法修改
const int& ri = i;	//底层const,不能通过ri修改i

在传递参数时,顶层const可以被忽略,而底层const不能被忽略。

你知道constevalconstinit这两个关键字的作用吗?

还记得constexpr是否在编译时求值要取决于传入的参数吗?如果传入的参数是编译时确定的,constexpr函数就会在编译时求值,反之则会在运行时求值。

constexpr int add(int a, int b)
{return a+b;
}constexpr int sum1 = add(1,2);	//编译时求值int a = 1, b = 2;
int sum2 = add(a,b);	//运行时求值

当使用consteval修饰函数和变量时,如果不能在编译时求值,则编译错误。

consteval int add(int a, int b)
{return a+b;
}
constexpr int sum1 = add(1,2);	//编译通过,在编译时求值
int a = 1, b = 2;
int sum2 = add(a,b);	//编译失败

constinit关键字用于声明一个变量为常量初始化变量。使用constinit可以保证静态变量的初始化顺序和线程安全性,从而避免竞争条件的发生。需要注意的是,constinit关键字只能用于静态变量的初始化,不能用于动态变量的初始化。

需要注意的是,consteval和constinit关键字是C++20引入的, 小伙伴们可以在编译时加入-std=c++20尝试使用这两个关键字。

好了,今日份面试到这里就结束了,小伙伴们,对于今天二师兄的面试,能打几分呢?

http://www.yayakq.cn/news/661743/

相关文章:

  • 无锡中小企业网站建设网站建设的基本流程和步骤
  • 网站死链接所有的竞价托管公司
  • 网站的外链是怎么做的青岛做网站哪家做的好
  • 设计一套网站费用线上企业订单管理系统网站
  • 网站建设hengfengera新媒体运营面试问题
  • 网站做树状结构有什么作用网站建设与管理自考题
  • 车机油哪个网站做的好网站开发流程主要分成什么
  • 网站怎么做缓存南阳设计公司排名
  • 怎样推荐企业建设网站和互联网推广免费下载中国移动app
  • 做亚马逊外国网站需要语言好吗菏泽建设公司网站
  • 学网站开发哪个好开网站需要租用机房服务器价格
  • 莱芜钓鱼网站成都中小企业申请网站
  • 品牌网络推广网站排名网站优化
  • 那个网站教你做美食做号网站
  • 北航做网站公司sae wordpress 伪静态
  • dede免费手机网站模板下载聊城定制网站建设公司
  • 公司网站做首页大图网页网站的制作过程
  • 网站首页设计特点有哪些wordpress php.ini路径
  • 兴宁市住房和城乡建设部网站现有的网站开发技术
  • 淘宝网网站建设的的意见网站内的地图导航怎么做的
  • 山东大型网站建设射阳做网站
  • 动态的网站怎么做室外设计网站推荐
  • 电脑网站转换手机网站怎么做北京海淀区制药企业
  • 南宁网站建设兼职哈尔滨建设网站公司吗
  • 网站推广意义门户网站建设 必要性
  • 有没有手机网站推荐wordpress 许愿墙
  • 深圳网站建设开发网站建设设计思想
  • 深圳网站建设吗合肥网站系统建设公司
  • 网站建设需求策划书wordpress大改动
  • 需要做网站的企业电话开源建站系统cms