电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

2024年笔试面试中CC++重要知识点整理VIP免费

2024年笔试面试中CC++重要知识点整理_第1页
1/22
2024年笔试面试中CC++重要知识点整理_第2页
2/22
2024年笔试面试中CC++重要知识点整理_第3页
3/22
笔试面试中C/C++重要知识点整顿(不定期更新)1.C和C++语言中的优先级规则C语言中语言申明的优先级规则如下(后来分析的基础):A申明从它的第一种名字开始读取,然后按照优先级次序依次读取B优先级从高到低依次是B.1申明中被括号括起来的那部分B.2后缀操作符:括号()表达这是一种函数方括号[]表达这是一种数组B.3前缀操作符:星号*表达“指向……的指针”下面我们使用上述规则来分析如下例子(1)char*const*(*next)();(2)char*(*c[10])(int**p)一步步分析:先分析括号里面的内容,我们懂得C是一种数组,保留的是“…..的指针”然后根据规则B,要先分析后缀,得到指针是一种函数指针。该函数参数为P返回值为char*。最终得到:C是一种数组元素,它的元素类型是函数指针,其所指向的函数的返回值是一种指向char的指针。(3)void(*signal(intsig,void(*func)(int)))(int);从signal所在的括号开始提取:void(*signal())(int);首先signal后缀跟的是括号,我们得到signal是一种函数,然后得到前缀为*表达此函数返回的是一种”……指针”…………最终得到signal是一种函数,返回函数指针,函数所指向的指针接受一种int类型的参数并且返回void。然后我们看signal函数参数自身:void(*func)(int)表达func是一种函数指针,此指针指向的函数接受一种int参数,返回值是void。假如我们定义typedefvoid(*ptr_to_func)(int)则表达ptr_to_func是一种函数指针,该函数接受一种int参数,返回值为void那么上述函数可以写为ptr_to_funcsignal(intsig,ptr_to_func);表达signal是一种函数,接受参数为int和ptr_to_func,返回ptr_to_func;2.typedefintx[10]与#definexint[10]的区别typedef与宏文本替代之间存在关键性的区别。如下:第一:可以用其他类型阐明符对宏名进行扩展,但对typedef所定义的类型名却不能这样做。如下:#definepeachintunsignedpeachi;//可以typedefintbanana;unsignedbananai;//错误第二:在持续申明的变量中用typedef定义的类型可以保证申明中所有变量均同一种类型,而用#define定义的类型却无法保证。如下:#defineint_ptrint*int_ptrchalk,cheese;通过宏扩展,第二行变为:int*chalk,cheese;这使得chalk与cheese为不一样的类型。chalk为int类型的指针,而cheese只是int类型变量。typedefchar*char_ptr;char_ptrBenley,Royce;Benley,和Royce类型是相似的。都是指向char的指针原因:#define在编译时仅仅是名称替代而typedef可以被当作一种彻底封装的“类型”。在理解typedef中变量详细体现什么意思的时候可以按照前面说的优先级规则进行解析。3.指针与typedeftypedef中使用指针往往带来意外的成果。例:typedefstring*pstring;constpstringcstr;c_str究竟代表什么类型。我们懂得pstring是指向string的指针诸多人都会误认为真正的类型是conststring*cstr。错误原因是将typedef当成#define直接进行文本扩展了,其实const修饰的是pstring而pstring是一种指针,因此,对的的等价形式应当是string*constcstr;4.类与面向对象编程4.1类接口与实现的概念:每个类都定义了一种接口(可以不是很确切的理解为类中访问级别为public的函数为接口)和一种实现。接口由使用该类的代码需要执行的操作构成。实现一般包括该类所需要的数据。实现还包括定义该类需要的但又不供一般性使用的函数。定义类时,一般先要定义该类的接口,即该类所提供的操作。通过这些操作,可以决定该类完毕其功能所需要的数据,以及与否需要定义某些函数来支持该类的实现。public派生类继承基类的接口,它具有与基类相似的接口。设计良好的类层次中,public派生类的对象可以用在任何需要基类对象的地方。4.2用struct关键字与class关键定义类以及继承的区别(1)定义类差异struct关键字也可以实现类,用class和struct关键字定义类的唯一差异在于默认访问级别:默认状况下,struct组员的访问级别为public,而class组员的为private。语法使用也相似,直接将class改为struct即可。(2)继承差异使用class保留字的派生类默认具有private继承,而用struct保留字定义的类某人具有public继承。其他则没有任何区别。classBase{/*....*/};...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

2024年笔试面试中CC++重要知识点整理

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部