明天省赛,我都还不太熟悉Dev - C++,怎么切换成C++11了?它的报错看不懂呀,那花八分钟看看这篇文章吧~解决你的困惑。

简介: 明天省赛,我都还不太熟悉Dev - C++,怎么切换成C++11了?它的报错看不懂呀,那花八分钟看看这篇文章吧~解决你的困惑。

快捷键


1、Ctrl + N 新建源代码

2、Ctrl + F 搜索,同时也可以切换到替换了

微信图片_20221019145953.png

环境配置


①编译——注:下面代码中的头文件应该是bits/stdc++.h。前面三张图被我敲错了,但是因为截屏弄的,我就不去重新截屏再加工了

微信图片_20221019150050.png

②运行

微信图片_20221019150131.png

③解决问题的步骤

出现这种问题,主要是因为这个dev,咱们刚拿到手的时候,大多数是没有进行设定编译器设置,需要咱们手动设置。(我都把头文件敲错了…都不报错…)

步骤一:

image.png步骤二:

image.png

步骤三:

微信图片_20221019150248.png

解决成功

再次编译运行

微信图片_20221019150315.png

点击运行微信图片_20221019150327.png

将dev修改为支持C++11


既然官方说了支持c++11,有人造好轮子了,那咱们就乖乖用吧,只是怎么用了?

比如常用的auto吧,假如不修改为c++11,是使用不了的。

微信图片_20221019150402.png

修改操作:image.png

再次编译+运行

微信图片_20221019150442.png

现在就可以使用C++11标准的语法去编写代码了。

微信图片_20221019150454.png

建议直接万能头文件


我自己的建议了,平时刷题的时候可以有选择的#include需要的头文件,明天就直接老老实实万能头吧,提前敲好放着,要用的时候直接复制粘贴,可以省一点时间。

微信图片_20221019150530.png

常见问题


编译无法通过——大多数是语法问题


1、代码拼写错误

这种报错的意思大概是这个变量还没有被声明过。

[Error] 'dsi' was not declared in this scope

微信图片_20221019150614.png

再举一个例子微信图片_20221019150639.png

2、库函数名写错了

调用库函数的时候,函数名写错了,大致是这种样子的,读出来了,也是说,没有这个库函数嗷~

[Error] 'std::string' has no member named 'lenght'

image.png

3、库函数调用格式错误微信图片_20221019150710.png

正确格式

微信图片_20221019150731.png4、缺少了标点符号,或者标点符号用错了

[Error] expected ';' before 'cout'

image.pngimage.png

4、取名的时候,避免直接使用容易混淆的标识符,比如next、sort、max…

因为个别时候会与C++自带的变量名重复,导致编译器找不着北微信图片_20221019150825.png


编译可以通过,但结果有问题——大多数是逻辑问题了


1、假如是数组,注意数组角标越界

编译的时候Dev不会出现任何警告或者提示,但是运行出来的结果挺奇怪的微信图片_20221019150923.png

运行结果:在这里插入图片描述微信图片_20221019150947.png

常见的数组角标可能越界的题型:

1、搜索。注意搜索的起点是1还是0

2、差分 和 前缀和 因为有i-1的索引,大多数也是从1开始

3、动态规划,大多数也是存在i-1的索引,结合实际情况而看了

暂时想起这么点,假如还有的会来补充的~


2、代码内部逻辑错误——调试

方法一:printf/cout输出大法

Dev编辑器调试

步骤一

微信图片_20221019151052.png

步骤二

微信图片_20221019151057.png

步骤三

微信图片_20221019151101.png

3、TLE(超时问题)

在本地的Dev跑,就算跑了半个小时,也不会出现超时的提醒,但是考试的评测系统是有时间限制的,大多数情况下,就是1秒,现在C++一秒大概能进行一亿次运算( 1 0 7 − 1 0 8 ) (10^7 - 10^8)(10 7 −10 8 )的样子,所以做题之前,先看好看好数据范围,假如数据范围是到1 0 5 10^510 5了,这种时候,假如用两个for循环来一个O ( n 2 ) O(n^2)O(n 2 )的时间复杂度,那么进行的就是10 10 0^{10}0 10次运算,会超时的(只是不会做的时候,可以考虑暴力骗分)


1. n ≤ 30 n≤30n≤30, 指数级别, dfs+剪枝,状态压缩dp


2. n ≤ 100 n≤100n≤100 => O ( n 3 ) O(n^3)O(n 3 ),floyd,dp,高斯消元


3. n ≤ 1000 n≤1000n≤1000 => O ( n 2 ) O(n^2)O(n 2 ),O ( n 2 l o g n ) O(n^2logn)O(n 2 logn),dp,二分,朴素版Dijkstra、朴素版Prim、Bellman-Ford


4. n ≤ 10000 n≤10000n≤10000 => O ( n ∗ n ) O(n∗\sqrt n)O(n∗

n ),块状链表、分块、莫队


5. n ≤ 100000 n≤100000n≤100000 => O ( n l o g n ) O(nlogn)O(nlogn) => 各种sort,线段树、树状数组、set/map、heap、拓扑排序、dijkstra+heap、prim+heap、Kruskal、spfa、求凸包、求半平面交、二分、CDQ分治、整体二分、后缀数组、树链剖分、动态树


6. n ≤ 1000000 n≤1000000n≤1000000 => O ( n ) O(n)O(n), 以及常数较小的 O ( n l o g n ) O(nlogn)O(nlogn) 算法 => 单调队列、 hash、双指针扫描、并查集,kmp、AC自动机,常数比较小的 O ( n l o g n ) O(nlogn)O(nlogn)的做法:sort、树状数组、heap、dijkstra、spfa


7. n ≤ 10000000 n≤10000000n≤10000000 => O ( n ) O(n)O(n),双指针扫描、kmp、AC自动机、线性筛素数


8. n ≤ 1 0 9 n \le 10^9n≤10

9

 => O ( n ) O(\sqrt n)O(

n


),判断质数


9. n ≤ 1 0 18 n \le 10^{18}n≤10

18

 => O ( l o g n ) O(logn)O(logn),最大公约数,快速幂,数位DP


10. n ≤ 1 0 1000 n \le 10^{1000}n≤10

1000

 => O ( ( l o g n ) 2 ) O((logn)^2)O((logn) 2 ),高精度加减乘除


11. n ≤ 1 0 100000 n \le 10^{100000}n≤10

100000

 => O ( l o g k × l o g l o g k ) O(logk×loglogk)O(logk×loglogk),k表示位数,高精度加减、FFT/NTT


空间倒是一般都不会爆的,只要不开阶乘级别的数组(比如int a[ 20!]),算法竞赛对空间上的要求比较低。

4、涉及到取模的、或者数据范围很大,还要进行整数的乘法的题,不要使用int了,全部使用 long long


相关文章
|
24天前
|
编译器 C语言 C++
C++一分钟之-C++11新特性:初始化列表
【6月更文挑战第21天】C++11的初始化列表增强语言表现力,简化对象构造,特别是在处理容器和数组时。它允许直接初始化成员变量,提升代码清晰度和性能。使用时要注意无默认构造函数可能导致编译错误,成员初始化顺序应与声明顺序一致,且在重载构造函数时避免歧义。利用编译器警告能帮助避免陷阱。初始化列表是高效编程的关键,但需谨慎使用。
27 2
|
2月前
|
存储 编译器 C语言
从C语言到C++_34(C++11_下)可变参数+ lambda+function+bind+笔试题(下)
从C语言到C++_34(C++11_下)可变参数+ lambda+function+bind+笔试题
39 5
|
2月前
|
C++ iOS开发
C++ 文件操作的技术性文章
C++ 文件操作的技术性文章
17 0
|
2月前
|
存储 安全 编译器
【C++】C++11
【C++】C++11
|
3天前
|
存储 安全 编译器
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
|
19天前
|
存储 C++
【C++航海王:追寻罗杰的编程之路】一篇文章带你了解二叉搜索树
【C++航海王:追寻罗杰的编程之路】一篇文章带你了解二叉搜索树
13 1
|
19天前
|
算法 安全 编译器
【C++航海王:追寻罗杰的编程之路】C++11(四)
【C++航海王:追寻罗杰的编程之路】C++11(四)
17 0
|
19天前
|
存储 安全 程序员
【C++航海王:追寻罗杰的编程之路】C++11(一)
【C++航海王:追寻罗杰的编程之路】C++11(一)
15 0
【C++航海王:追寻罗杰的编程之路】C++11(一)
|
3天前
|
存储 算法 编译器
【C++11】C++11深度解剖(下)
【C++11】C++11深度解剖(下)
10 0
|
3天前
|
存储 安全 程序员
【C++11】C++11深度解剖(上)
【C++11】C++11深度解剖(上)
11 0