C++
滚雪球~
这个作者很懒,什么都没留下…
展开
-
C++生成csv文件
参考:https://blog.csdn.net/weixin_45770896/article/details/125855000。有时,在进行C++编程时,需要将数据提取到CSV文件中,具体方法如下。示例主要将一个二维数组存入到CSV文件中。原创 2023-02-10 01:20:08 · 1593 阅读 · 0 评论 -
C++中constexpr与const对比
常量表达式constexpr是指值不会改变且在编译过程中就能够得到计算结果的表达式,能在编译时求值的表达式。C++11新标准规定,允许将变量声明为constexpr 类型以便由编译器来验证变量的值是否是常量表达式。constexpr 指定符声明可以在编译时求得函数或变量的值,声明为constexpr的变量一定是一个常量,而且必须用常量表达式来进行初始化。const 和 constexpr 变量之间的主要区别在于:const 变量的初始化可以延迟到运行时,而 constexpr 变量必须在编译时进行初始化。原创 2023-02-08 15:22:46 · 170 阅读 · 0 评论 -
Linux 系统配置信息查询 各种查看Linux配置的方法
参考:https://blog.csdn.net/lx7820336/article/details/124764130。RetHat系的可以使用,比如CentOS。原创 2022-10-31 02:39:35 · 263 阅读 · 0 评论 -
c++新建文件夹
参考:https://blog.csdn.net/T_T_T_T_/article/details/120217416。使用system()调用dos命令。原创 2022-10-18 01:05:36 · 312 阅读 · 0 评论 -
c++ 中记录时间消耗
注意最好拿个 std::chrono::duration存一下,因为直接cout原创 2022-10-14 03:59:36 · 269 阅读 · 0 评论 -
VS Code通过code runner插件编译运行多个cpp文件 | 链接编译.h文件
代码量增大时,通常会选择分多个目录存放,此时Code Runner插件无法编译,需要使用makefile或者cmake文件。参考:https://blog.csdn.net/frostime/article/details/86756983。Code Runner右键 扩展设置,打开setting.json,如图修改为*.cpp,表示编译所有cpp文件。这样操作只能编译所有cpp文件在同一目录下,对于多级目录,需要使用makefile或者cmake文件。1.多个cpp文件在同一级目录。原创 2022-10-12 15:57:58 · 1039 阅读 · 0 评论 -
error: redefinition of ‘xxx’问题的解决
include “xxx.h” 实际是将.h文件内容展开铺在.c文件之前,如果xxx.h没有加条件编译,那么重复引用和循环递归include时,就会展开多个重复的定义在.c代码之前,这样在编译的时候必然会有重复定义的告警。参考:https://blog.csdn.net/mantis_1984/article/details/53725642。当多文件编译时,多个cpp共同使用一个class或者struct,就会出现。把上面的代码加在头文件.h的头尾,即可避免重复定义的错误。原创 2022-10-12 04:05:21 · 2022 阅读 · 0 评论 -
macbook vscode 格式化工具 clang-format 配置,支持CUDA,C,C++格式化 macbook The ‘clang-format‘ command is not avail
在我的电脑上是/Users/username/.vscode/extensions/ms-vscode.cpptools-1.12.4-darwin-x64/LLVM/bin/clang-format注意把usrname改成你的用户名。本文帮助解决多种formatter并存时的选择问题(第一部分),用clang-format进行格式化但没反应(第二部分),用clang-format格式化CUDA程序并配置格式(第三部分)博主用clang-format进行格式化但没反应,之后发现是安装路径问题。原创 2022-10-11 23:49:40 · 1095 阅读 · 0 评论 -
::在c++中什么意思
:是C++里的作用域分解运算符,“比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。作用域符号”::“的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分。例如:A,B表示两个类,在A,B中都有成员member。1、A::member就表示类A中的成员member。2、B::member就表示类B中的成员member。原创 2022-09-29 17:36:00 · 465 阅读 · 0 评论 -
超简单的Mac版VsCode配置c/c++环境新手教学
在vs code官网Visual Studio Code - Code Editing. Redefined下载vs code。安装Code_runner。下载CodeLLDB。原创 2022-09-14 23:14:34 · 825 阅读 · 0 评论 -
【C++】switch语句用法详解
参考:https://kings.blog.csdn.net/article/details/84784310?程序跳到switch中特定代码后,将依次执行之后所有语句,除非有明确其他指示break,都在将一直执行下去。原创 2022-09-09 00:32:41 · 12705 阅读 · 0 评论 -
c++右值引用&&
右值引用 (Rvalue Referene) 是 C++ 新标准 中引入的新特性 , 它实现了移动语义 (Move Sementics) 和完美转发 (Perfect Forwarding)。C++( 包括 C) 中所有的表达式和变量要么是左值,要么是右值。通俗的左值的定义就是非临时对象,所有的变量都满足这个定义,在多条代码中都可以使用,都是左值。// 在这条语句中,i 是左值,0 是临时变量,就是右值。右值是指临时的对象,它们只在当前的语句中有效。在C++11之前,右值是不能引的,如。...原创 2022-08-31 17:56:41 · 402 阅读 · 0 评论 -
c++中const与const&的区别
如果是const int& y=x,则相当于这个值是x的一个别称,x的改变也会影响y的值,同时不能主动修改y,可以在这里认为x和y是描述的是同一个东西。const y=x,这样相当于弄了个新的值y和x是一样的,x的修改不会修改y的值,两者是完全独立的,同时这个y由于是const是不能修改的。...原创 2022-08-26 15:28:08 · 796 阅读 · 0 评论 -
std::move()
但是又看到很多地方讲到,在很多简单场景下,编译器其实是会做掉这个优化,编译器如果发现你函数的返回值是初始化一个新的对象实例,那么就会在新的对象示例的地址原地声明形参的对象,这样在函数返回时无需移动或拷贝操作。不过当代码逻辑比较复杂,使得编译器无法发现时,则不会做。这时候就会出现一个问题,如果程序员编码时显式地使用了std::move()函数来返回,编译器则不会做此项优化,这样反而会造成额外开销。返回值是一个对象时,使用std::move()就会调用移动构造函数,将形参的对象移动至调用函数以赋值的对象。...原创 2022-08-08 17:58:06 · 552 阅读 · 0 评论 -
C++构造函数
参考https//baike.baidu.com/item/%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0/7478717?fr=aladdin。声明的时候直接classTimeA这样即可。C++写class类的构造函数。可以写到下面,进行更新,非常。原创 2022-08-02 00:10:37 · 194 阅读 · 0 评论 -
vscode格式化C++代码方法
参考:https://blog.csdn.net/wydxry/article/details/125191171格式操作解决方法:按下组合键ctrl+shift+p在弹出的搜索窗口中输入format选择format document后回车就可以了原创 2022-07-11 17:44:18 · 785 阅读 · 0 评论 -
static const与static constexpr的类内数据成员初始化
参考:https://blog.csdn.net/qq_34801642/article/details/104948850实例2.1 static数据成员#include using namespace std;class A{public://整型的静态成员static bool b;static char c;static int i;//浮点型的数据成员static float f;static double d;// static int i1 = 1; //原创 2022-06-24 00:59:04 · 1033 阅读 · 0 评论 -
C++中explicit的用法
参考:https://blog.csdn.net/yu132563/article/details/80103693C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生,声明为explicit的构造函数不能在隐式转换中使用。C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。1 是个构造;2 是个默认且隐含的类型转换操作符。所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且恰好XXX的类型正原创 2022-05-30 17:44:10 · 251 阅读 · 0 评论 -
VsCode 跳转到函数之后怎么跳转回之前的位置 VSCode 返回上一个光标 (上一个浏览位置)
参考:https://blog.csdn.net/M_N_N/article/details/84581840Ctrl + 鼠标左击跳到定义.返回:Windows: Alt + ← ;或者 鼠标侧键Linux: Ctrl + Alt + - ;貌似数字键盘的减号没效果Mac: Ctrl + -终极奥义:VSCode左下角 “管理 / Manage” -> “键盘快捷方式 / Keyboard Shortcuts” -> 搜索 “前进 / Go Forward 或 后退 / Go Ba原创 2022-05-30 16:51:37 · 12592 阅读 · 1 评论 -
C++的vector用法即排序(一维与多维)
参考:https://blog.csdn.net/qq_39898780/article/details/121349269#include <iostream>#include <vector>#include <algorithm>using namespace std; int main(){ vector<int>v{5,4,6,9,8,1}; sort(v.begin(), v.end());原创 2022-05-23 12:09:00 · 957 阅读 · 0 评论 -
Mac Vscode使用C++11,用unordered_set报错或者报错报警告
参考:https://zhangbin.blog.csdn.net/article/details/106973292?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7EPayColumn-1-106973292-blog-123135372.pc_relevant_aa&depth_1-utm_source=distribute.pc_rele原创 2022-05-15 09:19:00 · 1484 阅读 · 0 评论 -
C++的类与异常类的使用与示范
参考:https://blog.csdn.net/qq_52345913/article/details/124308807C++中类的使用【描述】声明并实现一个Cylinder类,表示圆柱体。Cylinder类包括:double类型的私有数据成员radius和height,分别表示圆柱体底半径和高。带默认参数的构造函数,将圆柱体底半径和高设置为给定的参数。半径和高的默认参数值为1。访问器函数,分别用于访问圆柱体底半径和高。成员函数computeVolume,返回圆柱体体积。成员函数comp原创 2022-05-05 22:42:29 · 264 阅读 · 0 评论 -
背包问题相关
Google Kickstart2019 Round B Problem B能量石链接:https://www.acwing.com/problem/content/736/类似玩杂质的牛与国王游戏如果最终方案中相邻的两石头为l[i]/s[i]<l[j]/s[j]l[i]*s[j]<s[i]*l[j]则这两石头的收益和ei-(s[1]+…s[i-1])*li+ej-(s[1]+…s[i])*lj如果交换它们ej-(s[1]+…s[i-1])*lj+max(0,ei-(s[1]+原创 2022-04-25 18:54:31 · 2079 阅读 · 0 评论 -
贪心算法题解即相应的证明
905.区间选点链接:https://www.acwing.com/problem/content/907/给定 N 个闭区间 [ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作区间内。解法:按终点排序,每次选尽可能靠右的,某项不符合,则需要选它。证明:上面算出来的答案为cnt,正确答案为ans。需要证明cnt>=ans,cnt<=ans。首先cnt这个为一个合法的方法,必定大于等于标准答案。对于cn原创 2022-03-16 18:06:33 · 980 阅读 · 0 评论 -
hash字符串哈希
https://www.acwing.com/problem/content/843/求l->r的哈希值h[r]-h[l-1]*P^(r-l+1)注意要取模,可以用无符号的unsigned long long进行自然溢出//https://www.acwing.com/problem/content/843/#include<bits/stdc++.h>using namespace std;typedef unsigned long long ULL;const int原创 2022-02-16 00:34:03 · 386 阅读 · 0 评论 -
C++数组模拟单链表与双链表
https://www.acwing.com/problem/content/828/#include<bits/stdc++.h>using namespace std;const int N=100005;int ne[N],value[N];char op;int n,x,w,head,y;int main(){ cin>>n; while(n--){ cin>>op; if(op=='H'){原创 2022-02-15 03:16:40 · 321 阅读 · 0 评论 -
c++进行数据离散化
题目链接:https://www.acwing.com/problem/content/804/核心stl语句: sort(alls.begin(),alls.end()); alls.erase(unique(alls.begin(),alls.end()),alls.end());//https://www.acwing.com/problem/content/804/#include<bits/stdc++.h>using namespace std;const原创 2022-02-13 02:32:59 · 243 阅读 · 0 评论 -
leetcode 2166 设计位集直接用bitset做
参考:https://leetcode-cn.com/problems/design-bitset/用C++中stl中自带的bitset做,注意的是bitset得固定申请大小,不能动态在函数中申请,所以在最开始先申请好,之后在求all,one,count的时候要注意处理,即最后一段数是不会被修改的全0或者全1,用标记计算即可。class Bitset {public: bitset<100001>s; int n,other; Bitset(int size) {原创 2022-02-11 20:05:50 · 5454 阅读 · 0 评论 -
各类c++的stl库
acwing算法基本的数据结构(三)/*vector,变长数组,倍增的思想 size()元素个数 empty()判断是否为空 clear()清空 front()/back() push_back()/pop_back() begin()/end() [] 支持比较运算,按字典序 pair<int,int> first,第一个元素 second,第二个元素 支持比较运算,以first为第一关键字,以s原创 2022-02-11 19:14:23 · 267 阅读 · 0 评论 -
对拍,自动生成数据,自动运行代码,自动用.bat进行数据结果的对比
资源地址:https://download.csdn.net/download/qq_21237549/76130792mkdata.cpp为随机生成数据的代码,编译它可以生成mkdata.exe,生成数据在test.in中right.cpp为解决问题的标准算法,编译它可以生成right.exe,生成数据在test1.out中other.cpp为其它的方法(有可能对,有可能不对),编译它生成other.exe,生成数据在test2.out中run.bat为脚本,可以通过右键点击编译进行改写,具体内原创 2022-01-16 17:53:02 · 246 阅读 · 0 评论 -
C++输出代码的运行时间
参考:https://www.cnblogs.com/apebro/p/12581417.html#include<stdio.h>#include<time>printf("Time used = %.2f\n", (double)clock() / CLOCKS_PER_SEC);printf输出的时间是以秒为单位;常数CLOCKS_PER_SEC是和操作系统相关,不要直接使用clock()获取的运行时间返回值,应除以CLOCKS_PER_SEC;#include原创 2021-11-30 10:36:15 · 5412 阅读 · 1 评论 -
Dev C++取消自动括号匹配
参考:https://www.bbsmax.com/A/x9J2GXYj56/1.打开Dev-cpp。取消这个符号自动匹配即可原创 2021-11-30 10:16:03 · 1923 阅读 · 0 评论 -
C/C++类的继承
参考:https://blog.csdn.net/weixin_42394170/article/details/86630205?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlog原创 2021-10-20 17:08:28 · 84 阅读 · 0 评论 -
VS异常:文件乱码:文件加载,使用Unicode(UTF-8)编码加载文件xxx时,有些字节已用Unicode替换字符替换。保存该文件将不会保留原始文件内容。
参考:https://blog.csdn.net/bugang4663/article/details/110408633今天在使用vs打开一个项目的时候发现部分文件突然乱码了,上午打开的时候还没发现,点击部分cs文件的时候出现下面异常提醒在网上查了以下相关资料,主要有以下两种思路在vs中,选择"工具"->“选项”->“文本编辑器” 勾选上"自动检测不带签名的UTF-8编码",尝试了一下,发现并没有什么乱用用文本编辑器打开问题文件,设置编码另存为一下,这样确实可以解决问题,但是原创 2021-09-29 22:38:42 · 2442 阅读 · 3 评论 -
求一个字符串删去任意一个数后的生成效果,遍布全部o(N)
开始去掉最后一个,但是保存下来,然后倒着上来,每次覆盖前一个,保存前一个即可。原创 2021-09-05 00:41:25 · 92 阅读 · 0 评论 -
vscode在左侧活动栏加入与管理各个模块
在左侧活动栏直接右键,即可加入删除相应的已经安装好的模块原创 2021-08-26 11:57:02 · 2647 阅读 · 0 评论 -
Debug:==42==ERROR: AddressSanitizer: heap-buffer-overflow on address【C++】
做leetcode时出现这个问题。是指针为NULL,然后又指向了next,NULL的next访问不到值。原创 2021-08-26 10:18:09 · 685 阅读 · 0 评论 -
leetcode链表题目汇总
206. 反转链表https://leetcode-cn.com/problems/reverse-linked-list//** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr原创 2021-08-25 18:36:43 · 234 阅读 · 0 评论 -
windows下使用vscode编写运行以及调试C/C++ 和Mac下使用
参考:https://www.cnblogs.com/TAMING/p/8560253.html参考:https://www.zhihu.com/question/30315894vscode支持类似于vs的断点调试c/c++,也可以直接编译&运行c/c++微软官方起初设定的科学做法(这也是现在的科学做法)是通过在vscode集成控制台写命令行的方式来实现编译运行程序的,但也可以通过code runner插件来简化步骤,实现一键编译执行但无论是什么方法,因为vscode本身并不带有编译器,都原创 2021-08-24 12:05:09 · 1193 阅读 · 0 评论 -
Dev-C++ 无法调试 pre-prompt (gdb)
参考:https://segmentfault.com/q/1010000006061737开启调试,如果不行的话,说明需要开启调试信息。参考:https://jingyan.baidu.com/article/c33e3f48e0e01eea15cbb593.html开启产生调试信息之后调试即可。如何还是不行,出现了pre-prompt (gdb),则表示gdb里的问题在右下方发送命令到GDB:一栏中填入r并回车即可解决不可调试的问题。...原创 2021-08-04 23:19:51 · 3022 阅读 · 5 评论