程序喵大人发表于程序喵大人... C++面试八股文 什么是C++中的RAII(Resource Acquisition Is Initialization)? 答案: RAII是一种编程技术,用于管理资源,如内存、文件句柄、互斥锁等。它的基本思想是在对象的构造函数中获取资源,在… 泸沽寻梦 类的关系(C++实现) HIT-0...发表于菜鸟055...打开知乎App 在「我
堆:动态申请的内存空间,就是由 malloc 分配的内存块,由程序员控制它的分配和释放,如果程序执行结束还没有释放,操作系统会自动回收。堆从低地址向高地址增长。一般可以分配几个G大小的内存。 在堆栈之间有一个 共享区(文件映射区)。 全局区/静态存储区(.BSS 段和 .data 段):存放全局变量和静态变量,程序运行结...
内存总共分为五大分区:栈区,堆区,全局静态区,常量文本区,程序代码区。 从生存周期来说:栈区是运行时分配,结束就释放。堆区是程序员主动分配和释放。全局静态区是程序运行前分配,程序结束释放。常量文本区也是程序运行前分配,程序结束释放 从管理角度来说:只有堆区是由程序员自己来管理,其他四个区都是由系统来管...
栈由系统自动分配,速度较快但程序员是无法控制的 堆是由new分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便 1.3 栈在C语言中有什么作用? C语言中栈用来存储临时变量,临时变量包括函数参数和函数内部定义的临时变量函数调用中和函数调用相关的函数返回地址,函数中的临时变量,寄存器等均保存在栈中,...
前言:一般来说,程序员会遵守只包含一次头文件的规则,但会有一种情况程序员可能在不知情的情况下多次包含同一个头文件,即可能使用了包含另一个头文件的头文件。例如:如下三个文件 // 头文件h1.h ...//文件内容 //头文件h2.h #include"h1.h"//包含头文件h1.h ...//文件内容 //源文件c.cpp #...
14.程序运行的步骤是什么 15.锁的底层原理是什么? 16.原子操作是什么? 17.class与struct的区别 18.内存对齐是什么?为什么要进行内存对齐?内存对齐有什么好处? 19.进程之间的通信方式有哪些? 20.线程之间的通信方式有哪些? 21.介绍一下socket中的多路复用,及其他们的优缺点,epoll的水平和边缘触发模式 24.类的生...
在C/C++的面试中,无论是初级开发者还是资深程序员,都需要掌握一系列核心知识点,即所谓的“八股文”。这些知识点不仅涵盖了C/C++的基本语法与数据结构,还深入到了面向对象编程、内存管理、模板与STL等高级特性。本文将带大家彻底搞懂C/C++面试中的这些关键要点,并结合千帆大模型开发与服务平台,展示如何在实战中运用...
隐式转换看起来很方便,但是某些情况下违背了程序员的本意。这个时候就要加上explicit修饰,指定这个构造器只能被明确的调用/使用,不能进行隐式转换。 class A { public: explicit A(int a, int b) : m_a(a), m_b(b) {}; private: int m_a; ...
内存分为栈、堆、全局静态区、常量文本区、程序代码区。栈区用于函数调用,堆区由程序员管理,全局静态区在程序运行时分配。三个变量规则 等号左边必须是变量,自增自减操作针对变量。形参必须是变量。表达式计算 遵循优先级规则,从左到右比较运算符,优先级高的先计算。结合性影响运算顺序,单目运算右...
程序员八股文指的是什么,在软件行业,程序员八股文是一个颇具玩味的说法,它并非指真正的八股文,而是借用了古代科举考试中八股文的形式,来形容某些程序员在面试或工作中经常遇到的、格式化的问题及答案。这些问题和答案往往因为被反复提及和使用,而显得刻板、套路化,有