
C/C++
一些做题时遇到的C/C++的语法。
麻达拉
お前も舞うか
展开
-
c++ string类构造函数(string变量与字符相结合)
转载自:http://c.biancheng.net/view/1443.html前言:用c++做题的时候碰到了一个尴尬的情况:想让string与字符类型相结合,但是string不能直接用+运算符与字符类型结合。解决办法:使用的是构造函数。string str;char ch="a";str+=string(1,ch);讲解:构造函数有四个参数,其中三个具有默认值。要初始化一个 string 类,可以使用 C 风格字符串或 string 类型对象,也可以使用 C .原创 2020-11-07 16:05:01 · 1236 阅读 · 0 评论 -
VS Code配置C++环境: Unable to start debugging. Unexpected GDB output from command报错
报错:现象:可以编译源程序,但是不能运行生成的exe。原因:VsCode不能运行带中文名的exe,路径中带中文也不可以(绝对名称?)。打印的是变量program的信息,program就是保存要运行的程序的地址。launch.json{ "version": "0.2.0", "configurations": [ { "name": "g++.exe build and debug active file",...原创 2020-09-29 18:56:30 · 2731 阅读 · 0 评论 -
C++ STL中的binary_search(二分查找)
前言:以前遇到在数组中查找某个元素,总是通过循环遍历整个数组,今天在做一道题目时,数据较大,通过遍历查找就会超时,而自己写查找函数总是出错,无奈时间有限放弃了此道题目。 在赛后看了解析之后,如获珍宝,原来在头文件<algorithm>下存在一个二分查找的函数,太好用了!!!// 前提已经排序1.头文件#include<algorithm>2.功能在数组中查找某个元素是否存在函数模板:binary_search(arr[],arr[]+size,index).转载 2020-09-10 19:57:36 · 531 阅读 · 0 评论 -
STL之set与multiset(简单整理)
set简介:set的含义是集合,它是一个有序的容器(默认是从小到大),里面的元素都是排序好的,支持插入,删除,查找等操作,就像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。set和multiset的区别是:set插入的元素不能相同(因为它自动去重)每个元素只有一个,但是multiset可以相同(相同元素可以有多个)。set的基本操作:定义set容器类型的变量:set内元素的访问:只能通过迭代器来访问。set<typename>::原创 2020-08-13 15:03:14 · 473 阅读 · 0 评论 -
priority_queue(优先队列)的优先级设置
基本数据类型的优先级设置:对于基本数据类型(int,char,double),priority_queue的排序是默认是数值越大越优先。#默认大根堆 priority_queue<int> que;#greater是小根堆 priority_queue<int,vector<int>,greater<int> > que; #less是大根堆priority_queue<int,vector<int>,less<..原创 2020-08-13 09:31:37 · 2500 阅读 · 0 评论 -
关于memset函数,为了记住一个错误,发上来一段代码:
【CF 1049B】Yet Another Crosses Problem(以下代码时间超限了,我还不怎么会估算时间复杂度~~~~~~~)(下面代码的思路是:遍历整个二维数组,依次枚举每个点,计数每个点上下左右的 . 的数量)。如代码里的一段注释:memset函数,最后一个参数只能写成sizeof()的形式,不能写成整数值,否则置入数值时会出错。#include <iost...原创 2019-07-31 13:42:25 · 286 阅读 · 0 评论 -
STL学习笔记(只是记载了一些易错点,并没有太多语法部分)
目录写在前面:有关 queue:有关stack写在前面:所有的STL(标准模板),在使用前都要加上 using namespace std;(反正我觉着这一点挺重要的,尤其是对没接触过c++,只想学习STL的人来说。因为其他好多博客里都没说过)有关vector声明:vector<type_name> v; 加入元素:v.push_back();...原创 2019-07-27 15:16:15 · 214 阅读 · 0 评论 -
C语言(C++)中:详解floor函数、ceil函数和round函数
C语言中1.floor函数功能:把一个小数向下取整 即就是如果数是2.2 ,那向下取整的结果就为2.00000...转载 2020-07-21 09:05:31 · 1320 阅读 · 0 评论 -
vscode配置c/c++编译环境
简单明了:vscode配置c/c++转载 2020-07-07 13:20:13 · 138 阅读 · 0 评论 -
Codeblocks改变控制台颜色
改背景色可以,其他图片那只能自己实现控制台了。intmain(){system("color1f");printf("Helloworld!\n");return0;}引用设置默认的控制台前景和背景颜色。COLOR[attr]attr指定控制台输出的颜色属性颜色属性由两个十六进制数字指定--第一个为背景,...转载 2019-12-18 19:27:54 · 3983 阅读 · 0 评论 -
C语言里逻辑运算符的使用
异或运算符:懒得照搬了。一个题目:因为数据很大,所以用常规的滑窗方法肯定会超时,由于只是01之间判断是否相同,所以这里我们直接用异或就可以了。...原创 2019-11-27 16:47:27 · 253 阅读 · 0 评论 -
在做题时能用得到的库函数(持续更新ing)
将一串文字中的大写字母转化为小写字母,用tolower()函数。传送门#include<iostream>#include<cctype>//注意,c++ 5.11中,只导入iostream文件也能用using namespace std;int main(){ char arr[]="ABCDEFG"; cout<<arr<&...原创 2019-08-18 16:14:20 · 159 阅读 · 0 评论 -
C语言的结构体和C++的结构体的区别
定义好结构体之后,使用这个结构体类型的时候,C语言里需要写关键字 struct ,而 C++里可以省略不写://定义好结构体类型struct stu{ char name[10];//注意,因为结构体是一种类型,所以不能在定义这种类型时初始化变量。 int score;};stu XiaoMing;//C++定义变量的方法,可以省略structstruct s...原创 2019-09-02 21:05:50 · 819 阅读 · 1 评论 -
关于getchar(),scanf(),gets() ~~~~~~~~~~~来自百度知道
问题代码如下:#include<stdio.h>main(){char a1[5],a2[5],a3[5],a4[5];scanf("%s%s",a1,a2);gets(a3);gets(a4);puts(a1);puts(a2);puts(a3);puts(a4);}键盘输入:aa bb<回车>cc dd<回车>问题:为何输出结果是:...转载 2019-07-29 08:21:09 · 656 阅读 · 1 评论