C++
weixin_43869906
这个作者很懒,什么都没留下…
展开
-
vs2019中使用scanf_s
今天把我整崩溃了,记录下,也留给有用的人。。char inStr[1001];scanf_s("%s", inStr, sizeof(inStr));//char* s = inStr;char* s = inStr;cout << s << endl;scanf_s要输入三个参数,最后一个表示要输入的char的大小。...原创 2020-08-25 21:35:22 · 2076 阅读 · 1 评论 -
C++ getline()函数详解
由于自己在分割字符串和读取行中内容时总是碰到,这里把一起整理一下。getline()函数用于读入一整行数据,一种定义在头文件<istream>中,是istream的成员函数,一种定义在头文件<string>中,是普通文件。1)<istream>中的两种重载形式istream& getline(char* s, streamsize n);...原创 2020-04-23 20:50:31 · 688 阅读 · 0 评论 -
C++ 表达式必须含有常量值变量
#表达式必须含有常量值变量DEV-C++使用的编译器是GCC,它允许使用变量作为数组的长度定义数组。VC的编译器不是GCC,它不允许你这样做。方法1:使用动态内存分配,new和delete操作符int num;cin >> num;int* a = new int[num];…delete[] a;方法2:使用vector容器int num;cin >>...原创 2020-01-14 14:34:49 · 8848 阅读 · 1 评论 -
C++中remove和remove_if
一、remove()函数remove(begin(), end(), const T& value) //移除区间[begin, end)中与value相等的元素;remove只是通过迭代器的指针向前移动来删除,将没有被删除的元素放在链表的前面,并返回一个指向新的超尾值的迭代器。由于remove()函数不是成员,因此不能调整链表的长度。remove()函数并不是真正的删除,要想真正...原创 2019-12-04 21:19:28 · 595 阅读 · 0 评论 -
vector<string>
string:#include 基本接口:声明字符串: string s; //生成一个空字符串s string s(str) //拷贝构造函数 生成str的复制品 string s(str,stridx) //将字符串str内“始于...原创 2019-12-02 16:34:45 · 189 阅读 · 0 评论 -
不能实例化抽象类
什么样的类是抽象类呢?C++没有C Sharp中的关键字abstract,但是当一个类中有一个或多个纯虚函数的时候,这个类就自动成为了抽象类,即不可以实例化。纯虚函数是一种特殊的虚函数,在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。在实际开发中,很多时候你都需要继承别人的类,或是同事写的类,或是一些开源库中的类...原创 2019-11-21 21:34:43 · 566 阅读 · 0 评论 -
C++中cout.setf()函数
setiosflags(ios::fixed) 设置浮点数以固定的小数位数显示.setiosflags(ios::scientific) 设置浮点数以科学计数法(即指数形式)显示.setiosflags(ios::left) 输出数据左对齐.setiosflags(ios::right) 输出数据右对齐.setiosflags(ios::shipws) 忽略前导的空格.setiosfla...转载 2019-04-24 12:03:29 · 958 阅读 · 0 评论 -
指针与数组
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。p=a; //将该二维数...转载 2019-04-14 23:22:46 · 114 阅读 · 0 评论 -
数组指针和指针数组
定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。将二维数组定义为指针时可以这样表示int a[3][4];int (*p) [4]; //该语句定义一个数组指针,指向含4个元素的一维数组p = a; //将该二维数组的...转载 2019-04-14 23:19:22 · 88 阅读 · 0 评论 -
C++ stack容器
c++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO)使用该容器时需要包含#include头文件;定义stack对象的示例代码如下:stacks1;stacks2;stack的基本操作有:1.入栈:如s.push(x);2.出栈:如 s.pop().注意:出栈操作只是删除栈顶的元素,并不返回该元素;3.访问栈顶:如s.top();4.判断栈空:如s....原创 2019-04-21 15:47:45 · 154 阅读 · 0 评论 -
strcpy和strncpy的用法
char * strncpy(char *s1,char *s2,size_t n); 将字符串s2中最多n个字符复制到字符数组s1中,返回指向s1的指针。 注意:如果源串长度大于n,则strncpy不复制最后的’\0’结束符,所以是不安全的,复制完后需要手动添加字符串的结束符才行。 Strcpy和Strncpy的区别- - 第一种情况: char * p=“how are y...转载 2019-05-14 10:02:27 · 613 阅读 · 0 评论 -
严重性代码说明项目文件行错误C4996'strcpy'
严重性代码说明项目文件 行错误 C4996 ‘strcpy’: This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Test f:\cwor...转载 2019-05-31 10:43:49 · 225 阅读 · 0 评论 -
for循环中的i++和++i
for(int index = 0;index < 1024;++index)p[index] = 0;相当于for(int index = 0;index < 1024;){p[index] = 0;++index;}这里的++index和index++的作用是一样的。另外int *p = new[1024];...原创 2019-05-31 12:30:02 · 802 阅读 · 1 评论 -
C++ 运算符的优先级和结合性
原文:https://blog.csdn.net/lfb_2048/article/details/62040608转载 2019-07-30 19:28:22 · 160 阅读 · 0 评论 -
C++ 递增运算符:前置++和后置++的区别
首先说下结论:迭代器和其他模板对象应该使用前缀形式 (++i) 的自增,,自减运算符,因为前置自增 (++i) 通常要比后置自增 (i++) 效率更高前置++和后置++,有4点不同:返回类型不同、形参不同、代码不同、效率不同int main(){Age a;(a++)++; //编译错误 ++(a++); //编译错误 a++ = 1; //编译错误 ...原创 2019-08-01 10:55:13 · 709 阅读 · 0 评论 -
C++中size_t和size_type
为了使自己的程序有很好的移植性,c++程序员应该尽量使用size_t和size_type而不是int, unsignedsize_t是全局定义的类型;size_type是STL类中定义的类型属性,用以保存任意string和vector类对象的长度string::size_type 制类型一般就是unsigned int, 但是不同机器环境长度可能不同 win32 和win64上长度差别;si...转载 2019-08-05 23:31:13 · 152 阅读 · 0 评论 -
C++友元函数
原文链接:https://blog.csdn.net/fanyun_01/article/details/79122916在C++中,我们使用类对数据进行了隐藏和封装,类的数据成员一般都定义为私有成员,成员函数一般都定义为公有的,以此提供类与外界的通讯接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外...原创 2019-08-22 15:26:30 · 113 阅读 · 0 评论 -
C++ typedef
typedef的用途: 为已有的数据类型重新命名。<1. 基本类型>int a=10;//为整型重新命名typedef int ZS;ZS b=10;1234<2. 结构体的使用>a. 为结构体重新命名://ST---->等价于struct Studenttypedef struct Student{int id;char sex;}...原创 2019-08-26 17:08:30 · 109 阅读 · 0 评论 -
C++ - 栈
Class总结:https://www.cnblogs.com/xiongxuanwen/p/4290086.html利用栈实现计算器:https://blog.csdn.net/u011463794/article/details/85220335栈的介绍:https://blog.csdn.net/u011463794/article/details/85220335...转载 2019-03-06 16:20:38 · 83 阅读 · 0 评论 -
优先级
1.() > [] > *;2. - > ^;原创 2019-04-21 15:01:10 · 373 阅读 · 0 评论 -
左值和右值
i++ 与 ++i 的主要区别有两个1、 i++ 返回原来的值,++i 返回加1后的值2、 i++ 不能作为左值,而++i 可以首先解释下什么是左值,左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值。一般来说,左值是可以放到赋值符号左边的变量。但能否被赋值不是区分左值与右值的依据。比如,C++的const左值是不可赋值的;而作为临时对象的右值可能允许被赋值。...原创 2019-04-21 10:30:33 · 6678 阅读 · 0 评论 -
map()
原文:https://blog.csdn.net/shuzfan/article/details/53115922转载 2019-03-07 15:02:29 · 73 阅读 · 0 评论 -
codeblocks使用技巧
(一)codeblocks自带的调试终端xterm不能进行复制粘贴操作,解决方案:更改调试终端: 使用gnome-terminal作为调试终端。进入Setting==>Environment Settings==>General Setting==>Terminal to lanuch console programs:用“gnome-terminal -t $TITLE...转载 2019-03-10 16:21:40 · 362 阅读 · 0 评论 -
istringstream用法
原文:http://www.cppblog.com/shyli/archive/2006/10/17/13758.htmlistringstream对象可以绑定一行字符串,然后以空格为分隔符把该行分隔开来。#include#includeusing namespace std;int main(){string str, line;while(getline(cin, line))...转载 2019-03-06 22:31:51 · 474 阅读 · 0 评论 -
C++中双引号和单引号分别表示什么意思?
双引号表示字符串,单引号表示字符,单引号引起的一个字符实际上代表一个整数。字符串里,哪怕你只放了一个字母,事实上,系统会自动给它加一个\0。表示结束。也就是说,字符串比你看到的多占一个位置。...原创 2019-03-03 19:16:15 · 5549 阅读 · 0 评论 -
C++读书笔记—malloc()函数的注意点及使用示例
1、malloc()函数的头文件是stdlib.h,其函数声明如下: void* malloc(size_t size); 其中参数size_t size表示动态内存分配空间的大小,以字节为单位。size_t 是typedef重定义的类型,重定义这样数据类型的作用就是让使用者一目了然,指示使用者这个参数表示一个长度,在 size后加上t,表示是整型相关数据类型的,以后看到xx...转载 2019-03-03 15:39:15 · 1180 阅读 · 0 评论 -
C++stdio
文件包含include有三种形式的控制指令1:#include <文件名>将把该行替换为文件名指定的文件的内容。文件名不能包含> 或换行符。如果文件名包含字符 " ’ \ 或 /* 则行为没有定义。预处理器将在某些特定的位置查找指定的文件如:在tc下 Options-> Directories-> Include directories:可以设置inclu...原创 2019-03-03 15:38:41 · 1177 阅读 · 0 评论 -
_tmain()和main()有什么区别
原文:https://blog.csdn.net/zhangcancai/article/details/45168957_tmain是main为了支持unicode所使用的main的别名 ._tmain()不过是unicode版本的的main().是不是用UNICODE不是在程序启动的时候决定的,而是在程序编译的时候看有没有预处理定义"UNICODE",所以_tmain的作用就和使用TCHA...转载 2019-03-06 11:01:53 · 72 阅读 · 0 评论 -
队列queue
C++队列queue模板类的定义在头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。C++队列Queue类成员函数如下:back()返回最后一个元素empty()如果队列空则返回真front()返回第一个元素pop(...原创 2019-03-07 15:14:38 · 169 阅读 · 0 评论 -
C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
原文:https://www.cnblogs.com/luolizhi/p/5746775.html学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行)1、cin2、cin.get()3、cin.getline()4、getline()5、gets()6、getchar...转载 2019-03-10 19:47:35 · 78 阅读 · 0 评论 -
C++指针的指针
原文:https://blog.csdn.net/xiaoluoshan/article/details/78513389or:https://www.cnblogs.com/li-peng/p/4116349.html引用文章相关段落如下:C12inti =5,j =6,k =7;int *ip1= &i,*ip2= &j;现在我们可以这么写:C1int**...转载 2019-03-20 14:24:56 · 195 阅读 · 0 评论 -
C++ memset()函数
memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度.这个函数在socket中多用于清空数组.如:原型是memset(buffer, 0, sizeof(buffer))Memset 用来对一段内存空...转载 2019-03-26 14:11:57 · 671 阅读 · 0 评论 -
c++中的运算符“ ?: ”
三目运算符是?:结构的运算所谓三目就是需要三个变量对能进行运算的操作举个例子:2>1?A:B答案就是A先算“?”前面的,若前面成立就执行:前面的(A),反之就执行后面的(B)再举个简单的例子:a=2>1?3:4可分成几个部分,用括号分开:(a=)(2>1)?(3):(4)最左边是赋值操作第二个部分是一个判断第三和第四部分是两个常数首先判断第三部分是否成立...转载 2019-03-21 19:46:39 · 794 阅读 · 0 评论 -
头文件#include algorithm
#include:algorithm意为"算法",是C++的标准模版库(STL)中最重要的头文件之一,提供了大量基于迭代器的非成员模版函数。非修改性序列操作(12个)循环 对序列中的每个元素执行某操作 for_each()查找 在序列中找出某个值的第一次出现的位置 find() 利用底层元素的等于操作符,对范围内的元素与输入的值进行比较。当匹配时,结束搜索,返回该元素的一个 Inpu...转载 2019-03-21 16:48:18 · 1107 阅读 · 0 评论 -
自己再C++中犯的一些错误
1.cin>>a>>b;连续要输入两个数时,后面不能加endl;原创 2019-03-24 21:27:12 · 91 阅读 · 0 评论 -
c++符号优先级以及理解方法
原文:https://blog.csdn.net/malina90/article/details/40398723转载 2019-03-20 20:18:59 · 690 阅读 · 0 评论 -
C++~
原创 2019-03-16 22:13:43 · 459 阅读 · 0 评论 -
::在C++中的意思
::表示作用域,和所属关系。class Aint A::test() //表示test是属于A类的。关于::的具体解析:::是运算符中等级最高的,它分为三种:1)global scope(全局作用域符),用法(::name)。2)class scope(类作用域符),用法(class::name)。3)namespace scope(命名空间作用域符),用法(namespace::n...原创 2019-03-16 19:52:43 · 1035 阅读 · 0 评论 -
C++ vector
原文:http://www.cnblogs.com/Nonono-nw/p/3462183.htmlvector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件:#include;...原创 2019-03-20 16:27:40 · 90 阅读 · 0 评论 -
C++/C++11中头文件的使用
原文:https://blog.csdn.net/AnthongDai/article/details/78696573转载 2019-03-01 15:39:45 · 732 阅读 · 0 评论