C++ 类方法 类方法,也称为成员函数,是属于类的函数。它们用于操作或查询类数据,并封装在类定义中。类方法可以分为两种类型: 类内定义方法: 直接在类定义内部声明和定义方法。 类外定义方法: 在类定义内部声明方法,并在类外部单独定义方法。 类内定义方法 在类定义内部可以直接声明和定义方法,这是一种简 ...
C++11新标准中最重要的特性之一就是引入了支持对象移动的能力,移动语义的加持使得移动一个如容器之类的大对象的成本可以像复制一个指针一样低廉了,于是出现了各种各样的传言:如编译器会使用移动操作来替代拷贝操作以获得效率上的提升,甚至说将符合C++98标准的以前的老代码用符合C++11新标准的编译器重新... ...
左手编程,右手年华。大家好,我是一点,关注我,带你走入编程的世界。 公众号:一点sir,关注领取编程资料 介绍 函数跳转是要给IDE中非常重要也非常常用的功能,而原生的 Vim 并不提供这个功能,这个确定有点让人遗憾,按理说这么常用的功能应该是要提供的。但是没有关系,有插件可以实现这样的功能更,借助 ...
C++ 递归 递归是一种使函数调用自身的技术。这种技术提供了一种将复杂问题分解为简单问题的方法,从而更容易解决问题。 递归可能有点难以理解。理解其工作原理的最佳方法是通过实验来尝试。 递归示例 将两个数字相加很容易做到,但将一系列数字相加就更复杂了。在下面的示例中,通过将其分解为将两个数字相加的简单 ...
1.C10K problem 最初的服务器都是基于进程/线程模型的,新到来一个TCP连接,就需要分配1个进程(或者线程),但当连接数来到10K时,就需要不停地买服务器了. Dan Kegel 在 1999 年提出了著名的世界难题:“c10k problem”。那时的服务器还只是 32 位系统,运行着 ...
C++ 默认参数 默认参数概述 在 C++ 中,函数参数可以拥有默认值。这意味着,在调用函数时,如果省略了某个参数,那么将使用为该参数指定的默认值。 设置默认参数 默认参数值使用等号 = 符号进行设置,位于参数声明的类型之后。例如: void myFunction(string country = ...
系统调用 系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。 从逻辑上来说,系统调用可被看 ...
C++语言相比C语言最重要的功能就是支持面向对象编程,为了实现面向对象编程,C++增加了类的封装和多态、继承等特性,那么这些特性的加入是否会造成对象的内存成本增加?如果增加了,那么到底增加了多少? ...
初识STL STL,(Standard Template Library),即"标准模板库",由惠普实验室开发,STL中提供了非常多对信息学奥赛很有用的东西。 vector vetor是STL中的一个容器,可以看作一个不定长的数组,其基本形式为: vector<数据类型> 名字; 如: vector ...
C++中auto和decltype自动推导出来的类型是什么?编译器无法直接告诉你,这里介绍几种查看类型推导的结果的方法。 ...
C++ 解引用 获取内存地址和值 在上一页的示例中,我们使用了指针变量来获取变量的内存地址(与引用运算符 & 一起使用)。但是,你也可以使用指针来获取变量的值,这可以通过使用 * 运算符(解引用运算符)来实现: string food = "Pizza"; // 变量声明 string* ptr = ...
1.VS上安装Qt扩展 点击菜单栏【扩展】->【管理扩展】,在搜索框搜索“Qt”, 点击下载Qt Visual Studio Tools, 以2022版为例,需要关闭所有窗口才能执行安装 关闭VS后,弹出安装窗口,等待其安装完成 2. 新建QT工程测试 等待安装完成后,添加一个Qt Vertion后 ...
decltype关键字是C++11新标准引入的关键字,它和关键字auto的功能类似,也可以自动推导出给定表达式的类型,但它和auto的语法有些不同,这篇文章讲解了decltype的使用场景以及和auto不同的地方,同时也讲解了和auto结合使用的用法。 ...
C++ 引用和指针 创建引用 引用变量是对现有变量的“别名”,它是使用 & 运算符创建的: string food = "Pizza"; // 食物变量 string &meal = food; // 对 food 的引用 现在,我们可以使用变量名 food 或引用名 meal 来引用食物变量: c ...
获取数组的大小 要获取数组的大小,可以使用 sizeof() 运算符: 示例 int myNumbers[5] = {10, 20, 30, 40, 50}; cout << sizeof(myNumbers); 结果: 20 为什么结果显示为 20 而不是 5,当数组包含 5 个元素时? 这是因为 ...
需要开发一个https的服务,使用libhv来做,需要重新编译libhv,需要开启 WITH_OPENSSL,前面编译一直很顺利,但是打开VS生成动态库的时候,报错,找不到ssl相关的文件,看了官方的文档,说需要自己配置ssl。然后研究怎么编译OPENSSL,和编译支持HTTPS的libhv花了一点 ...
目录简介源码函数说明arv_camera_newarv_camera_acquisitionarv_camera_get_model_namearv_buffer_get_image_widtharv_buffer_get_image_height 简介 本文针对官方例程中的第一个例程:single ...
用C语言并利用递归思想实现设计一个程序,完成斐波那契数列的函数设计,利用递归实现! /******************************************************************* * * file name: * author : RISE_AND_GRIN ...
本文结合源码讨论std::shared_ptr和std::weak_ptr的部分底层实现,然后讨论引用计数,弱引用计数的创建和增减。 ...
C++ 20 的 std::format 是一个很神奇、很实用的工具,最神奇的地方在于它能在编译期检查字符串的格式是否正确,而且不需要什么特殊的使用方法,只需要像使用普通函数那样传参即可。 #include <format> int a = 1; std::string s1 = std::form ...