decltype关键字是C++11新标准引入的关键字,它和关键字auto的功能类似,也可以自动推导出给定表达式的类型,但它和auto的语法有些不同,这篇文章讲解了decltype的使用场景以及和auto不同的地方,同时也讲解了和auto结合使用的用法。 ...
C++ 引用和指针 创建引用 引用变量是对现有变量的“别名”,它是使用 & 运算符创建的: string food = "Pizza"; // 食物变量 string &meal = food; // 对 food 的引用 现在,我们可以使用变量名 food 或引用名 meal 来引用食物变量: c ...
const关键字是用于定义一个不该被改变的对象,它的作用是告诉编译器和其他程序员不允许修改这个对象的值或者状态。当程序员看到使用const修饰的代码时就知道不应该修改对应对象的值,而编译器则会强制实施这个约束,任何违反这个规定的代码会在编译期间报错。它可以用于任何函数或者类之后的全局或namespa ...
C++的auto关键字在C++11新标准出来之前基本上处于弃用的状态,到C++11新标准发布之后,auto关键字被赋予了新的意义,并且功能也变得很强大,此篇文章重点介绍auto关键字的新功能、新用法,以及在C++14、C++17、C++20各版本中对它的使用缺陷和限制不断地修正和增强,当然auto关... ...
获取数组的大小 要获取数组的大小,可以使用 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 ...
C++ Break 和 Continue break 语句还可以用来跳出循环。 在以下示例中,当 i 等于 4 时跳出循环: for (int i = 0; i < 10; i++) { if (i == 4) { break; } cout << i << "\n"; } C++ Continue ...
本文介绍了如何配置更好的编码平台,因为 NOI 系列中的 Dev-C++ 用户体验不佳。需要能够使用无高亮显示的主要语法和功能强大的计算机。使用清华的国内镜像安装带有 Clang 的 MSYS2,配置环境变量并安装 VSCode。最后,通过安装 Visual Studio Code 中文(简体)语言... ...
C++ Switch 语句 使用 switch 语句选择要执行的多个代码块之一。 语法 switch(expression) { case x: // 代码块 break; case y: // 代码块 break; default: // 代码块 } 它的工作原理如下: switch 表达式被评估 ...
C++ 条件和 If 语句 您已经知道 C++ 支持数学中的常见逻辑条件: 小于:a < b 小于或等于:a <= b 大于:a > b 大于或等于:a >= b 等于:a == b 不等于:a != b 您可以使用这些条件来针对不同的决定执行不同的操作。 C++ 具有以下条件语句: 使用 if 来 ...
C++ 数学 C++ 有许多函数可以让您在数字上执行数学任务。 最大值和最小值 max(x, y) 函数可用于找到 x 和 y 的最大值: 示例 cout << max(5, 10); 而 min(x, y) 函数可用于找到 x 和 y 的最小值: 示例 cout << min(5, 10); C+ ...
问题描述 问题和 unordered_set 有关,相关代码如下: //打印unordered_set的所有值 void printSet(const std::unordered_set<std::string> &data) { int index = 0; auto it = data.beg ...
问题 #include<iostream> #include<thread> int main() { int sum = 0; auto f = [&sum]() { for (int i = 0; i < 10000; i++) sum += 1; }; std::thread t1(f); s ...
[ABC347C] Ideal Holidays题解 原题传送门 原题传送门(洛谷) 题意翻译: 在 \(AtCoder\) 王国中,一个周有 \(A+B\) 天。其中在一周中, \([1,A]\) 天是假日, \([A+1,B]\) 天是工作日。 高桥有 \(N\) 个计划,第 \(i ...
堆 堆是一种树形结构,树的根是堆顶,堆顶始终保持为所有元素中优先级最高的元素,如小根堆与大根堆,小根堆的堆顶始终为最小的元素,大根堆的堆顶始终保持为最大的元素。堆一般用二叉树实现,称为二叉堆。二叉堆的典型应用有堆排序和优先队列。 本片将包括: 目录堆(1.二叉堆的概念(2.二叉堆的操作1.上浮2.下 ...
学了分块,感觉这玩意好难啊,怎么听起来这么简单?【】【】分块! 先推荐一个东西:loj 分块全家桶! 首先,把一整个数组劈成 \(\sqrt n\) 块是最优的!(当然如果你想写一个 \(114514\) 块的分块也没问题但他不优啊!) 分块劈好后长这样: 这样它的复杂度是: 预处理:\(O(n\s ...