标签:C++
某日二师兄参加XXX科技公司的C++工程师开发岗位第24面: 面试官:list用过吗? 二师兄:嗯,用过。 面试官:请讲一下list的实现原理。 二师兄:std::list被称为双向链表,和C中手写双向链表本质上没有大的区别。list对象中有两个指针,一个指向上一个节点(node),一个指向下一
某日二师兄参加XXX科技公司的C++工程师开发岗位第25面: 面试官:array熟悉吗? 二师兄:你说的是原生数组还是std::array? 面试官:你觉得两者有什么区别? 二师兄:区别不是很大,原生数组(非动态数组)和std::array都在栈上开辟空间,初始化的时候需要提供数组长度,且长度不
std::future 是一个 C++11 引入的标准库类,可用于异步获取计算结果。通常情况下,std::future 可以通过 get() 函数来等待异步操作完成,并获取其结果。 如果需要等待多个异步操作完成并获取它们各自的结果,可以使用 std::future 的姊妹类 std::shared
某日二师兄参加XXX科技公司的C++工程师开发岗位第26面: 面试官:deque用过吗? 二师兄:说实话,很少用,基本没用过。 面试官:为什么? 二师兄:因为使用它的场景很少,大部分需要性能、且需要自动扩容的时候使用vector,需要随机插入和删除的时候可以使用list。 面试官:那你知道STL
RinpoStk 按位读取 在C中无法直接按位读取,常见的方法是通过位运算获取每一位的数据。 //获取B5第4位 //(B5 & (1 << 5)) >> 5 10110101 & 00010000; = 00010000 //得到1 采取共用体(联
某日二师兄参加XXX科技公司的C++工程师开发岗位第27面: 面试官:用过std::set/std::map吗? 二师兄:用过。 面试官:能介绍一下二者吗? 二师兄:std::set是一个有序的集合,其中的元素是唯一的,即每个元素只能出现一次。一般用于去重和自动排序。 二师兄:std::map同
在 C++11 中,可以使用 <chrono> 头文件中的 std::chrono::system_clock 类来获取当前时间戳。它提供了多种精度和分辨率的时钟类型,其中最常用的是系统时钟。 以下是一个示例程序,演示如何使用 std::chrono::system_clock 类获取
在笔者上一篇文章《驱动开发:应用DeviceIoContro开发模板》简单为大家介绍了如何使用DeviceIoContro模板快速创建一个驱动开发通信案例,但是该案例过于简单也无法独立加载运行,本章将继续延申这个知识点,通过封装一套标准通用模板来实现驱动通信中的常用传递方式,这其中包括了如何传递字
一、在MFC中使用多线程,可以通过CWinThread类来实现。下面是一个简单的示例,演示了如何在MFC应用程序中创建和使用多线程: 在你的MFC应用程序中包含头文件 "afxmt.h",该头文件包含了多线程相关的类和函数。 创建一个派生自CWinThread的自定义线程类。示例代码如下:
C++标准 1. C++标准简介 The document specifies requirements for implementations of the C++ programming language. 美国国家标准局(American National Standards Institu
之前参与一个机票价格计算的项目,为他们设计了基本的处理流程,但是由于整个计算流程相当复杂,而且变化非常频繁,导致日常的修改、维护和升级也变得越来越麻烦,当我后来再接手的时候已经看不懂计算逻辑了。为了解决这个问题,我借鉴了“工作流”的思路,试图将整个计算过程设计成一个工作流。但是我又不想引入一个独立
​ 大家好,我是独孤风,一位曾经的港口煤炭工人,目前在某国企任大数据负责人,公众号大数据流动的作者。 ​ 虽然告诉自己要平静,但是当接到EMS录取通知书的那一刻,眼眶还是忍不住有些湿润。今年正好是是东北大学的建校100周年,录取通知书还附赠了小礼物。 ​ 上一次接到录取通知书还
某日二师兄参加XXX科技公司的C++工程师开发岗位第29面: 面试官:什么是构造函数? 二师兄:构造函数是一种特殊的成员函数,用于创建和初始化类的对象。构造函数的名称与类的名称相同,并且没有返回类型。构造函数在对象被创建时自动调用。 struct Foo { Foo(int v):val(
CSV格式是一种通用的文本文件格式,可在多个应用程序之间共享和使用。相比之下,Excel文件是一种电子表格格式,通常只能在Microsoft Excel中编辑和查看。因此,将Excel文件转换为CSV格式可使数据更方便地在其他应用程序中使用;而将CSV文件转换为Excel格式则有利于在Micros
某日二师兄参加XXX科技公司的C++工程师开发岗位第30面: 面试官:什么是空指针? 二师兄:一般我们将等于0/NULL/nullptr的指针称为空指针。空指针不能被解引用,但是可以对空指针取地址。 int* p = nullptr; //空指针 *p = 42; //空指针不可以解引用 in
不知不觉,《C++面试八股文》已经更新30篇了,这是我第一次写技术博客,由于个人能力有限,出现了不少纰漏,在此向各位读者小伙伴们致歉。 为了不误导更多的小伙伴,以后会不定期的出勘误文章,请各位小伙伴留意。 在《C++面试八股文:C++中,设计一个类要注意哪些东西?》一文中, #include &l
《老生常谈:值类型 V.S. 引用类型》中花了很大的篇幅介绍ref参数针对值类型和引用类型变量的传递。在C#中,除了方法的ref参数,我们还有很多使用ref关键字传递引用/地址的场景,本篇文章作一个简单的总结。一、参数 二、数组索引 三、方法 四、ref 结构体 五、ref 结构体字段一、参数如果
前言 网上关于PowerBuilder的资料确实是少之又少。 为了方便,后面我们都用pb 来代替PowerBuilder 说到这不得不来说说自己的pb入坑经历, 自己也不是计算机科班出生。 刚到公司面试,听到pb也是一脸懵逼,这啥东西,从来没听过。 然而,不知不觉已经干了好几年
某日二师兄参加XXX科技公司的C++工程师开发岗位第31面: 面试官:strcpy函数使用过吧? 二师兄:用过。 面试官:这个函数有什么作用? 二师兄:主要用做字符串复制,将于字符从一个位置复制到另一个位置。 面试官:strncpy函数也使用过吧,和strcpy有何不同? 二师兄:strncpy