刷新
C++ 类方法解析:内外定义、参数、访问控制与静态方法详解

博主头像 C++ 类方法 类方法,也称为成员函数,是属于类的函数。它们用于操作或查询类数据,并封装在类定义中。类方法可以分为两种类型: 类内定义方法: 直接在类定义内部声明和定义方法。 类外定义方法: 在类定义内部声明方法,并在类外部单独定义方法。 类内定义方法 在类定义内部可以直接声明和定义方法,这是一种简 ...

深入分析C++对象模型之移动构造函数

博主头像 C++11新标准中最重要的特性之一就是引入了支持对象移动的能力,移动语义的加持使得移动一个如容器之类的大对象的成本可以像复制一个指针一样低廉了,于是出现了各种各样的传言:如编译器会使用移动操作来替代拷贝操作以获得效率上的提升,甚至说将符合C++98标准的以前的老代码用符合C++11新标准的编译器重新... ...

vim中函数跳转的功能实现

博主头像 左手编程,右手年华。大家好,我是一点,关注我,带你走入编程的世界。 公众号:一点sir,关注领取编程资料 介绍 函数跳转是要给IDE中非常重要也非常常用的功能,而原生的 Vim 并不提供这个功能,这个确定有点让人遗憾,按理说这么常用的功能应该是要提供的。但是没有关系,有插件可以实现这样的功能更,借助 ...

C++ 递归与面向对象编程基础

博主头像 C++ 递归 递归是一种使函数调用自身的技术。这种技术提供了一种将复杂问题分解为简单问题的方法,从而更容易解决问题。 递归可能有点难以理解。理解其工作原理的最佳方法是通过实验来尝试。 递归示例 将两个数字相加很容易做到,但将一系列数字相加就更复杂了。在下面的示例中,通过将其分解为将两个数字相加的简单 ...

浅析网络库

1.C10K problem 最初的服务器都是基于进程/线程模型的,新到来一个TCP连接,就需要分配1个进程(或者线程),但当连接数来到10K时,就需要不停地买服务器了. Dan Kegel 在 1999 年提出了著名的世界难题:“c10k problem”。那时的服务器还只是 32 位系统,运行着 ...

C++ 默认参数与引用传递:语法、用法及示例

博主头像 C++ 默认参数 默认参数概述 在 C++ 中,函数参数可以拥有默认值。这意味着,在调用函数时,如果省略了某个参数,那么将使用为该参数指定的默认值。 设置默认参数 默认参数值使用等号 = 符号进行设置,位于参数声明的类型之后。例如: void myFunction(string country = ...

linux系统调用第一篇

博主头像 系统调用 系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。 从逻辑上来说,系统调用可被看 ...

STL笔记 之 vector

博主头像 初识STL STL,(Standard Template Library),即"标准模板库",由惠普实验室开发,STL中提供了非常多对信息学奥赛很有用的东西。 vector vetor是STL中的一个容器,可以看作一个不定长的数组,其基本形式为: vector<数据类型> 名字; 如: vector ...

C++ 解引用与函数基础:内存地址、调用方法及声明

博主头像 C++ 解引用 获取内存地址和值 在上一页的示例中,我们使用了指针变量来获取变量的内存地址(与引用运算符 & 一起使用)。但是,你也可以使用指针来获取变量的值,这可以通过使用 * 运算符(解引用运算符)来实现: string food = "Pizza"; // 变量声明 string* ptr = ...

VS studio 上开发Qt——Qt VS studio Tool的使用

博主头像 1.VS上安装Qt扩展 点击菜单栏【扩展】->【管理扩展】,在搜索框搜索“Qt”, 点击下载Qt Visual Studio Tools, 以2022版为例,需要关闭所有窗口才能执行安装 关闭VS后,弹出安装窗口,等待其安装完成 2. 新建QT工程测试 等待安装完成后,添加一个Qt Vertion后 ...

深入解析decltype和decltype(auto)

博主头像 decltype关键字是C++11新标准引入的关键字,它和关键字auto的功能类似,也可以自动推导出给定表达式的类型,但它和auto的语法有些不同,这篇文章讲解了decltype的使用场景以及和auto不同的地方,同时也讲解了和auto结合使用的用法。 ...

Windows系统编译libhv带SSL,开启WITH_OPENSSL

需要开发一个https的服务,使用libhv来做,需要重新编译libhv,需要开启 WITH_OPENSSL,前面编译一直很顺利,但是打开VS生成动态库的时候,报错,找不到ssl相关的文件,看了官方的文档,说需要自己配置ssl。然后研究怎么编译OPENSSL,和编译支持HTTPS的libhv花了一点 ...

std::format 如何实现编译期格式检查

博主头像 C++ 20 的 std::format 是一个很神奇、很实用的工具,最神奇的地方在于它能在编译期检查字符串的格式是否正确,而且不需要什么特殊的使用方法,只需要像使用普通函数那样传参即可。 #include <format> int a = 1; std::string s1 = std::form ...

123···34>