C++知识点
邹氏情歌cium
这个作者很懒,什么都没留下…
展开
-
## 类与对象 ##
一、“类” 的介绍在C++中, 用 "类" 来描述 "对象", 所谓的"对象"是指现实世界中的一切事物。那么类就可以看做是对相似事物的抽象, 找到这些不同事物间的共同点, 如自行车和摩托车, 首先他们都属于"对象", 并且具有一定得相同点, 和一些不同点, 相同点如他们都有质量、都有两个轮子, 都是属于交通工具等。"都有质量"、"两个轮子"属于这个对象的属性, 而"都能够当做交通工具"属于该对象...原创 2019-08-23 18:30:13 · 97 阅读 · 0 评论 -
__cdecl __fastcall与__stdcall
__cdecl __fastcall与__stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。1、__stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈。2、_cdecl是C和C++程序的缺省调用方式。每一个调用它的函数都...原创 2019-09-17 18:02:42 · 207 阅读 · 0 评论 -
C++怎么产生随机数
使用rand函数和time函数可以使数字随着时间的变化而变化。这里可以用srand()函数。srand()用来设置rand()产生随机数时的随机数种子。在调用rand()函数产生随机数前,必须先利用srand()设好随机数种子(seed), 如果未设随机数种子, rand()在调用时会自动设随机数种子为1。如果没有设置随机数种子,那么每次随机数种子都自动设成相同值1 ,进而导致rand()所产...原创 2019-09-16 17:56:42 · 291 阅读 · 0 评论 -
C++队列queue的用法
C++队列queue模板类的定义在头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容 器类型是可选的,默认为deque 类型。C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。C++队列Queue类成员函数如下:back() 返回最后一个元素empty() 如果队列空则返回真front() 返回第...原创 2019-09-12 10:22:00 · 5175 阅读 · 0 评论 -
stack的常见用法
stack翻译为栈,时STL中实现的一个后进先出的容器1、stack的定义【头文件】#includeusing namespace;定义方法与其他容器相同,typename可以任意基本类型数据类型或容器定义stack 对象的示例代码如下:stack<typename> name;stack<int> s1;stack<string> s2;...原创 2019-09-11 19:06:02 · 702 阅读 · 0 评论 -
Sizeof与Strlen的区别:
Sizeof与Strlen的区别:1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是算符,strlen是函数。3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以’’\0’'结尾的。sizeof还可以用函数做参数比如:short f()...原创 2019-09-11 14:15:18 · 116 阅读 · 0 评论 -
怎样对string对象初始化?
1、默认初始化string s; //s是一个空串2、使用字符串字面值初始化string s1=“hello world”; //拷贝初始化string s2(“hello world”); //直接初始化注意:s1、s2的内容不包括’\0’3、使用其他字符串初始化string s2=s1; //拷贝初始化,s1是string类对象string s2(s1); //直接初始化...原创 2019-09-09 15:49:42 · 459 阅读 · 0 评论 -
C++
一、new和malloc的区别1、new和delete配对,释放数组需要用delete[]。new和delete实际上调用了malloc和free,另外调用了类的构造函数和析构函数。2、malloc和free配对,malloc返回的是void指针,需要强转。3、new申请的内存保存在堆中,malloc申请的内存保存在自由存储区。二、C++运算符1、取模操作符:%2、逻辑否、与、或:!,...原创 2019-09-07 15:33:47 · 292 阅读 · 0 评论 -
对setw(x)函数的理解
setw(x)函数:( 1 )setw(x)函数用于流操作符<<输出之中,是对直接跟在<<后的输出数据声明对齐的作用。( 2 )该函数不仅用于VC++,这是标准C++运行库函数,多数C++编译器都支持。( 3 )setw输出对齐,就是用于控制台下,每个输出的对齐显示,对齐的方法,就是不足指定x个长度时,用默认空格(或指定字符)补齐长度后输出。示例:#include...原创 2019-08-30 16:14:52 · 584 阅读 · 0 评论 -
C++中static关键字的作用
1.隐藏。(static函数,static变量均可)(最重要的功能)当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。举例来说明。同时编译两个源文件,一个是a.c,另一个是main.c。//a.cchar a = 'A'; // global variablevoid msg(){ printf("Hello\n");} //main.c...原创 2019-08-29 16:55:34 · 317 阅读 · 0 评论 -
数据的共享与保护(一)
一、标识符的作用域与可见性:1>.作用域:指的是标识符的有效范围,一个标识符在程序正文中有效的区域;c++作用域:(1)函数原型作用域(C++程序中最小的作用域)(2)局部作用域(块作用域)函数形参列表中形参的作用域,从形参列表中的声名处开始,到整个函数体结束处为止;函数体内声明的变量,其作用域从声明开始,直到声明所在的块结束的大括号为止。(3)类作用域类:一组有名成员的集合...原创 2019-08-26 18:26:01 · 244 阅读 · 0 评论 -
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
答:全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不...原创 2019-09-19 18:47:52 · 1385 阅读 · 0 评论