刷新
欧拉函数学习笔记

博主头像 读前警告:本文 MD 以及 \(\LaTeX\) 差到爆炸,因为是直接复制的。 首先,\(\varphi(n)\) 的值是小于 \(n\) 且与 \(n\) 互质的数的个数。 //求n的欧拉函数值: phi[n] int getPhi(int n){ int ans = n; for(int i = ...

C++入门编程----C++运算符(8)

博主头像 什么是运算符 运算符是让程序执行特定的数学或逻辑操作的符号,用来表示针对数据的特定操作,也称之为操作符。C++运算符分别有算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、移位运算符、sizeof运算符、三目运算符、逗号运算符和域解析运算符。 算术运算符 C++中的算术运算符用于进行数学运算 ...

第4章 复合类型——字符串(一)C风格字符串

本文章是作者根据史蒂芬·普拉达所著的《C++ Primer Plus》而整理出的读书笔记,如果您在浏览过程中发现了什么错误,烦请告知。另外,此书由浅入深,非常适合有C语言基础的人学习,感兴趣的朋友可以自行阅读此书籍。 字符串 字符串是存储在内存的连续字节中的一系列字符。 C++处理字符串的方式有两种 ...

C++STL学习第一篇(什么是STL以及string的各种功能用法)

博主头像 STL STL提供了六大组件,彼此之间可以组合套用,这六大组件分别是:容器、算法、迭代器、仿函数、适配器、空间配置器。 数据结构和容器管理:STL 提供了多种数据结构和容器,如向量(vector)、链表(list)、集合(set)、映射(map)等。这些容器可以帮助程序员方便地存储和管理数据,根据需 ...

C++ Qt开发:运用QThread多线程组件

博主头像 Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QThread`组件实现多线程功能。 ...

Visual Studio部署C++环境下OpenCV库

博主头像 本文介绍在Visual Studio 2022中配置、编译C++计算机视觉库OpenCV的方法。 1 OpenCV库配置 首先,我们进行OpenCV库的下载与安装。作为一个开源的库,我们直接在其官方下载网站中进行下载即可;如下图所示,我们首先选择需要下载的操作系统。 随后,即可在弹出的新界面中自动开 ...

构建稳固基石:C++线程安全Map的简单实现与应用

博主头像 概述:实现线程安全的C++ map是为了在多线程环境中确保对共享数据的安全访问。通过封装std::map和使用std::mutex互斥锁,该实现提供了插入、获取、删除等线程安全操作,有效解决了潜在的竞态条件和数据一致性问题。以下是一个简单的示例代码,演示了该线程安全map的基本用法。 在多线程环境中 ...

C++ mySQL数据库连接池(windows平台)

博主头像 C++ MySQL数据库连接池 新手学了C++多线程,看了些资料练手写了C++数据库连接池小项目,自己的源码地址 关键技术点 MySQL数据库编程、单例模式、queue队列容器、C++11多线程编程、线程互斥、线程同步通信和 unique_lock、基于CAS的原子整形、智能指针shared_ptr ...

C++系列:const关键字

博主头像 前言 在学习C++时,const关键字的知识点分散在书的各个章节。当我们尝试在编程时使用const时,总会感觉有一些细节被遗忘,因而不能得心应手地使用const关键字。因此,本篇文章尝试着对const关键字的做一些总结。参考书籍《C++ Primer Plus》 const总结 这里是我做的关于co ...

C++类开发第七篇(详细说说多态和编译原理)

博主头像 polymorphism 静态联编和动态联编 多态性(polymorphism)提供接口与具体实现之间的另一层隔离,从而将”what”和”how”分离开来。多态性改善了代码的可读性和组织性,同时也使创建的程序具有可扩展性,项目不仅在最初创建时期可以扩展,而且当项目在需要有新的功能时也能扩展。 c++ ...

c++多线程按行读取同一个每行长度不规则文件

博主头像 对于非常大的比如上百G的大文件读取,单线程读是非常非常慢的,需要考虑用多线程读,多个线程读同一个文件时不用加锁的,每个线程打开一个独立的文件句柄 多线程读同一个文件实现思路 思路1 先打开一个文件句柄,获取整个文件大小file_size 确定要采用线程读取的部分大小read_size和多线程的个数t ...

c++多线程编程

c++线程库:<thread> 创建线程:需要可调用的函数或者函数对象作为线程入口点 例:std::thread threadname ( function_name , args...) 在C++中,当使用std::thread创建线程并传递类的成员函数时,需要使用&来获取成员函数的地址,同时还需 ...

pair

博主头像 pair的定义和结构 模板类 一对值的组合 头文件<utility> 两个模板参数,T1和T2,分别表示第一个值和第二个值的类型 两个成员变量,first和second,分别表示第一个值和第二个值 有一些成员函数和特性 默认构造函数 带参数的构造函数 比较运算符重载 可以将两个值组合在一起进行传递, ...

网狐核心源码阅读分析

博主头像 框架结构 网狐服务器整体上分为4个部分:中转服务器,房间服务器,大厅服务器,sqlserver数据库。其中大厅服务器主要负责帐号管理器:管理用户选择服务器登录地址,校验用户数据等。必需与中转服务器保持长连接,用于更新获取最新数据。 房间服务器:用于加载处理每款子游戏逻辑与公共游戏逻辑(例如机器人整体 ...

C++类开发第五篇(继承和派生的初体验)

博主头像 inheritance 在 C++ 中,继承是一种面向对象编程的特性,允许一个类(称为子类或派生类)从另一个类(称为基类或父类)那里继承属性和行为。通过继承,子类可以获得父类的数据成员和成员函数,从而可以重用父类的代码并扩展其功能。这样可以提高代码的复用性和可维护性,同时也符合面向对象编程的封装和抽 ...

c++的oop之class和struct

博主头像 c++中的面向对象 构造函数 与C#一样,可以拥有多个构造函数,但python只有一个构造函数 默认的无参构造函数,可以这样写 classname() = default; 构造函数时初始化变量,建议这样写。对于const或自定义类型必须这样写,而对于内置类型几乎是一样的。 MyClass::MyC ...

项目中协程加入的原因和过程分享

博主头像 原文已经发到项目wiki页面:https://github.com/youngyangyang04/KVstorageBaseRaft-cpp/wiki/协程加入的原因和过程分享 欢迎大家给项目来个star哈哈哈。 在 feat:协程替代doElectionTicker和doHeartBeatTic ...

C++类开发第四篇(讲清楚重载运算符怎么用)

博主头像 operator 运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。 在c++中,可以定义一个处理类的新运算符。这种定义很像一个普通的函数定义,只是函数的名字由关键字operator及其紧跟的运算符组成。差别仅此而已。它像任何其他函数一样也是一个函数,当编译器遇到适 ...

<1···567···35>