C/C++函数调用的压栈模型_zhangge3663的博客-CSDN博客_c++函数调用时压栈

一、C++关键字与运算符

二、C++重要知识点

1、C++三大特性

2、智能指针

3、强制类型转换

三、C++ STL

四、Effective C++

五、问题预测

1、谈谈你对C和C++的编程差异理解

C和C++的特点和区别_humeApz的博客-CSDN博客_c和c++区别

2、static关键字在C语言和C++中各自有哪些不同用法

C/C++中static的关键字的理解总结(对比在C和C++中的区别和相同)_呋喃吖的博客-CSDN博客_c和c++中static的区别

static关键字在C语言和C++中的使用及区别_李老湿和linux的博客-CSDN博客_c和c++中static的区别

3、union是什么,有什么用?

C++中union的使用方法_棉猴的博客-CSDN博客_c++ union

4、volatile关键字是做什么用的?

C语言中volatile关键字的作用_莱特昂的博客-CSDN博客_c语言volatile的作用

5、函数调用过程在汇编层面如何进行?

从汇编层面看函数调用的过程_qq_43313035的博客-CSDN博客_从汇编层面看函数调用的过程

汇编:函数调用_豆腐der的博客-CSDN博客_汇编函数调用

6、面向对象有哪些基本特性?

c++面向对象的三个特点,并简述_IOT_SHUN的博客-CSDN博客_c++面向对象的三个基本特征

7、多态是如何实现的?编程实现一下。

什么是多态?如何实现?只看这一篇就够了_海盗船长没有船y的博客-CSDN博客_多态

C++实现多态的原理_咸鱼程序员的博客-CSDN博客_c++多态的实现机制

C++ 虚函数表解析_haoel的博客-CSDN博客_虚函数表

8、编程实现一个单例模式

(看手撕代码博文)

C++如何实现单例模式?_Tattoo_Welkin的博客-CSDN博客_单例模式c++实现

9、内存对齐

快速理解内存对齐以及#pragma pack_树下等苹果的博客-CSDN博客_内存对齐的目的和原理

结构体内存对齐(如何计算结构体的大小)_2021dragon的博客-CSDN博客

详解内存对齐_Sunshine-松的博客-CSDN博客

#include<iostream>
//32bit machine
//#pragma pack(4)
//64bit machine
#pragma pack(8)using namespace std;struct A
{int d1;double d2;char d3;
};struct B
{double d1;char d2;int d3;
};int main()
{cout <<"sizeof(A) = "<< sizeof(A) << endl;cout << "sizeof(B) = " << sizeof(B) << endl;return 0;
}

一个对象只有一个int型成员变量,sizeof的大小是多少?  答案: 4

一个对象有一个int型和一个char型成员变量,sizeof的大小是多少? 答案:8

一个对象只有一个int型成员变量和一个虚函数,sizeof的大小是多少? 答案:32位机是8,64位机是16

10、x86和x64,Debug和Release的区别

关于VS项目平台的x86,x64,Any CPU以及Debug和Release的区别_zuguangboy的博客-CSDN博客_vs x64和x86

11、智能指针的原理,weak_ptr是做什么用的?

make_shared函数:

make_shared理解_CPriLuke的博客-CSDN博客_make_shared

智能指针简略:

智能指针原理(整理)_古宇hhh的博客-CSDN博客_智能指针原理

智能指针详细:

智能指针的原理及实现_lizhentao0707的博客-CSDN博客_智能指针

智能指针的使用及原理_An_Mo的博客-CSDN博客_智能指针的原理

注意循环引用问题:

智能指针shared_ptr、unique_ptr、weak_ptr_Aries_Ro的博客-CSDN博客

#include<iostream>
#include<memory>using namespace std;void shared_ptr_test()
{cout << "shared_ptr_test()" << endl;shared_ptr<string> p1(new string("are you ok?"));cout << *p1 << endl;cout << p1.use_count() << endl;auto p2 = p1;cout << p1.use_count() << endl;cout << p2.use_count() << endl;p1.reset();cout << p1.use_count() << endl;cout << p2.use_count() << endl;
}void unique_ptr_test()
{cout << "unique_ptr_test()" << endl;unique_ptr<string> p1(new string("are you ok?"));cout << *p1 << endl;auto p2 = move(p1);cout << *p2 << endl;p2.release();
}class B;class A {
public://shared_ptr<B> bptr;weak_ptr<B> bptr; // 修改为weak_ptr~A() {cout << "A is deleted" << endl;}
};
class B {
public:shared_ptr<A> aptr;~B() {cout << "B is deleted" << endl;}
};void weak_ptr_test()
{std::shared_ptr<A> ap(new A);std::shared_ptr<B> bp(new B);ap->bptr = bp;bp->aptr = ap;cout << "main leave" << endl;
}int main()
{shared_ptr_test();unique_ptr_test();weak_ptr_test();return 0;
}

12、vector容量满了会发生什么

[C++] vector内存分配与释放机制_陈奕迅本人的博客-CSDN博客_c++ vector 内存

13、map和unordered_map有什么区别?各自如何实现?

C++ map和unordered_map的区别和联系以及map的使用_浮生勿语的博客-CSDN博客_unordered_map和map的区别

14、红黑树和哈希表

哈希表和红黑树的对比_菜鸟知识搬运工的博客-CSDN博客_哈希表和红黑树的区别

哈希表与红黑树的特点及区别_YiJavaMan的博客-CSDN博客_hashmap红黑树的优点

15、右值引用是什么,move是为了解决什么问题?

什么是右值引用_oyhy_的博客-CSDN博客_右值引用

C++11 的右值引用(Rvalue reference)——细微却最重要的改动_ye_create的博客-CSDN博客

C++11 标准新特性: 右值引用与转移语义_fjb2080的博客-CSDN博客

16、构造函数和析构函数能不能抛出异常?

构造函数可以抛出异常、析构函数不可也不能抛出异常_peng864534630的博客-CSDN博客_构造函数可以抛异常么

构造函数中可不可以抛出异常?析构函数呢?_Tuzki的博客-CSDN博客

17、C++中哪几种类型转换,区别是什么?

C++中的4种类型转换_柚子树cc的博客-CSDN博客_c++类型转换

c++ 四种强制类型转换介绍_ydar95的博客-CSDN博客

18、从源代码到可执行程序,中间的过程是什么样的?

c++从源文件到可执行文件的步骤详解_scut_yp的博客-CSDN博客_c++可执行文件

C/C++从源代码到可执行程序的过程详解_wenbin1996的博客-CSDN博客

简化:

C++中源码到可执行文件的过程_AYZP的博客-CSDN博客_源代码到可执行文件的四个步骤

个人八股文集合一、C/C++语言相关推荐

  1. java合一算法_Prolog语言的编译原理:合一算法

    Prolog语言的编译原理:合一算法 分类:软考 | 更新时间:2016-07-08| 来源:转载 Prolog是一种基于谓词演算的程序设计语言.Prolog是一种说明性语言,它的基本意思是程序员着重 ...

  2. 人工智能合一算法java语言实现_人工智能合一算法UNify.doc

    -算法实现 一.作业目的: 用某一种编程语言实现合一算法. 二.首先把教材中的Unify算法表述如下: 算法 unify (E1, E2) 1 .if E1或E2是一个原子(即一个谓词符号.函数符号. ...

  3. 人工智能合一算法java语言实现_人工智能AI---用LISP语言写合一算法unify

    [问题描述] 编程实现表达式合一算法,对任意两个表达式E1.E2,找出其最一般合一s [测试数据] 输入表达式: E1 = P (x,  f (x),  g (z) )       E2 = P (y ...

  4. 豆芽八股专栏笔记之c语言篇

    一.c语言 1.1 main函数 int argc   char*argv[] argc :表示输入有几个参数 argv[]是输入参数的数组 argv[0]:指向程序运行的全路径名 argv[1]指向 ...

  5. 计算机英语的语言特点及教学,计算机英语的语言特点及教学.doc

    计算机英语的语言特点及教学.doc (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 计算机英语的语言特点及教学 1计算机英语的语言特 ...

  6. 《软件开发与创新:ThoughtWorks文集:续集》

    <软件开发与创新:ThoughtWorks文集:续集> 基本信息 原书名:The thoughtWorks anthology, volume 2:More essays on softw ...

  7. 比较两种计算机语言的英语论文,计算机英语论文,关于计算机英语的语言特点教学方法探析相关参考文献资料-免费论文范文...

    导读:本论文可用于计算机英语论文范文参考下载,计算机英语相关论文写作参考研究. 徐欣 (江苏省徐州技师学院 江苏徐州 221151) 摘 要:计算机英语因其特殊性,在教学过程中需要有其特有的教学方法. ...

  8. 计算机英语的语言特点及教学,计算机英语的语言特点及教学

    1计算机英语的语言特点 1.1计算机英语具有简明性 较传统意义上的英语而言,计算机英语所体现的是一种简洁明快的语言风格.主要表现在以下几方面.(1)大量使用缩略词.在计算机英语中,能够大量的看到缩略词 ...

  9. 语料库语言学与计算语言学研究丛书

    转载 冯志伟 "语料库语言学与计算语言学研究丛书" 旨在向国内读者推荐语料库语言学 与计算语言学这两个学科最新和最经典的外文著作. 语料库语言学的语料要建立 在计算机上,而计算语言 ...

  10. Matlab Tips: 高效实用的快捷命令

    目录 0. 概要 1. 注释与反注释:Ctrl+R, Ctrl+T 2. 代码格式化:Ctrl+I 3. 代码自动补全 3.1 自动显示函数接口 3.2 Tab键自动补全 4. 代码分块执行 5. 查 ...

最新文章

  1. 公司网络推广教你网站初期SEO优化该如何做?
  2. vue组件级路由钩子函数介绍,及实际应用
  3. 【Centos】Centos7.5取消自动锁屏功能
  4. lintcode-828. 字模式
  5. 阿里云MaxCompute被Forrester评为全球云端数据仓库领导者
  6. 今天学到的几个函数【二】
  7. Error:Execution failed for task ':app:clean'. Unable to delete directory: /media/file/workspaces/a
  8. VBA 收集 Word关键字批量处理-Excel版
  9. 你还在期待彩票中奖么?
  10. 读书到什么程度才能算融会贯通?
  11. TXT文本数据转换成Excel表格
  12. [Leetcode] 625. Minimum Factorization 解题报告
  13. LumaFusion剪辑视频
  14. Excel文件显示“文件已损坏,无法打开”情况的解决办法
  15. 绘制logisitc回归的风险预测值的nomogram图
  16. memsql 基本完全免费了
  17. linux当中shadow文件的作用,解释Linux中passwd与shadow文件
  18. Python实现随机生成车牌号
  19. 一位刚做半年的萌新建模师,他为何每个月都能拿到上万薪资?他靠的是什么?
  20. lob 索引 oracle,解决了困惑已久的Oracle全文索引问题

热门文章

  1. java中yml后缀文件_YML文件扩展名 - 什么是.yml以及如何打开? - ReviverSoft
  2. 电机与拖动基础--第一章
  3. ccf csp 题目:工资计算
  4. 罗技 无线鼠标 USB HID数据格式
  5. 测试 tolua 例子 TestErrorStack
  6. python中function是什么意思_Python中的Function定义方法
  7. Ubuntu20.04安装详细图文教程(双系统)
  8. 14届数独-真题标准数独-Day 5-20220120
  9. 设置pdf软件同时查看多页PDF
  10. 【CocosCreator 3.x】实现双人同屏效果 => 攻略