C/C++编程

《Effective C++ 改善程序与设计的55个具体做法》读书笔记

1 .让自己习惯C++ 条款01 视C++为一个语言联邦 C Object-Oriented C++ Template C++ STL C++高效编程守则视情况而变化,取决于你使用C++的哪一部分。 条款02 尽量与const,enum,inline替换#define 对于单纯常量,最好以const对象或enums替换#defines。 对于形似函数的宏(macros),最好改用inlin

C/C++编程 2023年07月11日  117

C++ 惯用法之 Copy-Swap 拷贝交换

C++ 惯用法之 Copy-Swap 拷贝交换 这是“C++ 惯用法”合集的第 3 篇,前面 2 篇分别介绍了 RAII 和 PIMPL 两种惯用法: RAII: Resouce Acquistion Is Initialization PIMPL:Pointer To Implemetation 正式介绍 Copy-Swap 之前,先看下《剑指 Offer》里的第☝️题: 如下为类型 C

C/C++编程 2023年07月11日  130

【技术积累】C语言中的指针【一】

C语言中的指针是什么 在C语言中,指针是一个变量,它存储的是内存地址。指针变量可以指向任何类型的数据,如整数、字符、浮点数或其他指针。通过指针可以间接访问和操作变量的值。 指针的主要目的是允许程序直接访问内存,而不是通过变量名来访问。这对于一些高级的编程任务,如动态内存分配、数据结构和函数指针等非常有用。 指针可以用来实现以下几个方面的功能: 内存管理:通过指针,可以动态地分配和释放内存。这在

C/C++编程 2023年07月11日  144

一文带你学习C++中的虚函数

概念 虚函数是一种具有特殊属性的成员函数,它可以被子类重写,并在运行时确定调用哪个方法。为了定义一个虚函数,将在该函数的声明中使用关键字virtual。当调用一个虚函数时,编译器不会立即解析函数的调用,而是使用一个虚函数表(VTable)来查找到实际方法的地址。 语法 //在基类声明中定义虚函数: class Base { public: virtual void DoSomethin

C/C++编程 2023年07月11日  112

基于C语言打造高效通讯录的示例代码

本篇博客会讲解如何使用C语言实现一个通讯录。实现通讯录的过程中,会大量用到C语言的知识点,包括但不限于:函数、自定义类型、指针、动态内存管理、文件操作,这些知识点在我的其他博客中都有讲解过,欢迎大家阅读,这里就不进行系统的复习了。 先来梳理下需求: 1.通讯录能够存储的联系人的信息有:姓名、年龄、性别、电话、住址。 2.这个通讯录不能是“静态的”,而应该是“动态的”,也就是说,需要用到动态内

C/C++编程 2023年07月11日  141

C++语言执行标准

C++标准 1. C++标准简介 The document specifies requirements for implementations of the C++ programming language. 美国国家标准局(American National Standards Institute, ANSI) 在1990年设立了一个委员会(ANSI X3J16),专门负责制定C++标准(AN

C/C++编程 2023年07月11日  130

利用C++实现一个线程安全的map

本文是使用ChatCPT生成的,最终的代码使用起来没问题。代码是通过两轮对话完善的,后面把对话合并后跑不出理想效果就没尝试了。 第一轮对话 请求 c++11实现一个线程安全的map,使用方法与std::map保持一致,实现[]运算符 回复 以下是一个简单的线程安全的map实现,可以使用[]运算符来访问和修改map中的元素:(代码省略,后面一起给出) 该实现使用std::map

C/C++编程 2023年07月11日  123

C++面试八股文:什么是构造函数?

某日二师兄参加XXX科技公司的C++工程师开发岗位第29面: 面试官:什么是构造函数? 二师兄:构造函数是一种特殊的成员函数,用于创建和初始化类的对象。构造函数的名称与类的名称相同,并且没有返回类型。构造函数在对象被创建时自动调用。 struct Foo { Foo(int v):val(i){} //构造函数 private: int val; }; 面试官:什么是默认构造函数

C/C++编程 2023年07月11日  116

进程间通信总结

2023/6/27 通信之间的实现,目的是为了,方便回顾时立马能使用。具体的比如什么情况选用什么通信,各自的优点,没有记录。原因是,本人目前实战经验较少,还处于学习状态,对此的理解还停留在管道方便,共享内存效率高,控制操作用消息队列 前提 进程间通信多少种? 答:7种,分别为无名管道、有名管道、信号、消息队列、共享内存、信号灯集、套接字 能简单说一下分别的特点吗? 答: 无名管道

C/C++编程 2023年07月11日  111

C语言中.与->的用法介绍

(一)基础 结构体用点,结构体指针用箭头。 a->b 的含义是 (*a).b 。 现代的标准化的 C 语义上来说, -> 可以用 * 和 . 的组合实现。 简单的说,就是一个快捷方式,一个语法糖。 (二)例子 在机器码和汇编的角度来看,不存在变量,不存在 struct 这种东西,只存在寄存器和一个叫做内存的大数组。 结构体变量用 . 来访问结构体的成员如下: #inc

C/C++编程 2023年07月11日  144

关闭

用微信“扫一扫”