
cpp
兔老大RabbitMQ
全站最硬核博主(之一)。在腾讯总部工作,bat/tmd有五家发过offer。acm/leetcode刷题狂,c /Java/python/go/php各种后端语言都喜欢,安卓/node/叶子/jsp等前端也能写,最喜欢鼓捣各种组件,请多指教。
展开
-
十万字cpp成神总结-看完月薪25k
最近会放出cpp成神之路的所有总结,大家感兴趣的可以收藏一波。原创 2021-04-23 15:29:19 · 3375 阅读 · 9 评论 -
超硬核!十万字c++题,让你秒杀老师和面试官(上)
我发现呀,这大家对面试题的需求还是很大的,这里总结了上千道知识点,能换您一个收藏吗原创 2021-04-21 11:35:35 · 8235 阅读 · 76 评论 -
(acm)C++加速输入的几种方法
1.C++IO流的同步和绑定在C++中,cin和cout的速度其实不并不慢,C++中的流的IO速度相当的快,其速度与初始设定的缓存区大小和硬盘的IO速度有关。但在C++中,为了兼容C的IO(scanf和printf),cin和cout被设置为与C的IO同步,这样导致cin和cout的速度不如scanf和printf快。另外,在默认情况下,标准输入设备(cin)与标准输出设备(cout)绑定在一起,它保证在调用输入之前已经刷新输出缓冲区,这样也会降低读取效率。所以,我们可以手动取消他们与C语言转载 2020-07-10 21:33:48 · 10080 阅读 · 67 评论 -
俄罗斯方块(C++)
#include<iostream>#include<stdlib.h>#include<windows.h>#include<time.h>#include<conio.h>using namespace std;#define A1 0//A代表长条型,B为方块,C为L型,D为闪电型(实在无法描述那个形状)#define A2 1#define B 2#define C11 3#define C12 4#defin.原创 2020-05-31 17:16:01 · 2278 阅读 · 41 评论 -
cpp知识汇总(1) 指针vs引用、static、const
引用和指针的区别?指针是一个实体,需要分配内存空间。引用只是变量的别名,不需要分配内存空间。 引用在定义的时候必须进行初始化,并且不能够改变。指针在定义的时候不一定要初始化,并且指向的空间可变。(注:不能有引用的值不能为NULL) 有多级指针,但是没有多级引用,只能有一级引用。 指针和引用的自增运算结果不一样。(指针是指向下一个空间,引用时引用的变量值加1) sizeof 引用得到的是所指向的变量(对象)的大小,而sizeof 指针得到的是指针本身的大小。 引用访问一个变量是直接访问,而指针访原创 2020-05-31 15:05:34 · 3923 阅读 · 59 评论 -
c++ STL迭代器实例
1、vector#include <iostream>#include <vector>using namespace std;int main(int argc, char* argv[]){ // Create and populate the vector vector<int> vecTemp; for (int i = 0; i<6; i++) { vecTemp.push_back(i); } // Dis原创 2020-05-22 09:58:01 · 3329 阅读 · 33 评论 -
go语言一天入门(下)
结构体和c一样package mainimport "fmt"type Books struct { title string author string subject string book_id int}func main() { // 创建一个新的结构体 fmt.Println(Books{"Go 语言", "www.runoob.com", "Go 语言教程", 6495407}) // 也可以使用 key =>原创 2020-05-18 17:02:04 · 10345 阅读 · 42 评论 -
go语言一天入门(上)
Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性。声明变量的一般形式是使用 var 关键字:var name typeGo和许多编程语言不同,它在声明变量时将变量的类型放名称后。这样做的好处就是可以避免像C语言中那样含糊不清的声明形式,例如:int* a, b;。其中只有 a 是指针而 b 不是。如果你想要这两个变量都是指针,则需要将它们分开书写。而在 Go 中,则可以和轻松地将它们都声明为指针类型:var a, b *intGo语言的基..原创 2020-05-18 16:08:55 · 13665 阅读 · 56 评论 -
C++ 多态和虚函数
虚函数实现多态#include <iostream>using namespace std;//基类Peopleclass People{public: virtual void display(); //声明为虚函数};void People::display(){ cout<<"无业游民。"<<endl;}//派生类Teacherclass Teacher: public People{public: virtu原创 2020-05-09 12:53:37 · 3707 阅读 · 32 评论 -
C++ STL 线性容器的用法
vectorvector 是顺序容器的一种,是可变长的动态数组,支持随机访问迭代器,所有stl算法都能对 vector 进行操作。vector 容器在实现时,动态分配的存储空间一般都大于存放元素所需的空间。例如,哪怕容器中只有一个元素,也会分配 32 个元素的存储空间。这样做的好处是,在尾部添加一个新元素时不必重新分配空间,直接将新元素写入适当位置即可。在这种情况下,添加新元素的时间也是常数...原创 2020-05-08 14:55:26 · 5246 阅读 · 63 评论 -
C++ STL与迭代器
将容器类模板实例化时,会指明容器中存放的元素是什么类型的:可以存放基本类型的变量,也可以存放对象。对象或基本类型的变量被插入容器中时,实际插入的是对象或变量的一个复制品。STL 中的许多算法(即函数模板),如排序、查找等算法,在执行过程中会对容器中的元素进行比较。这些算法在比较元素是否相等时通常用运算符进行,比较大小通常用<运算符进行,因此,被放入容器的对象所属的类最好重载==和<...原创 2020-05-08 13:05:49 · 7600 阅读 · 11 评论 -
C++继承详解
废话不多说直接上代码class 派生类名:[继承方式] 基类名{ 派生类新增加的成员};继承方式限定了基类成员在派生类中的访问权限,包括 public(公有的)、private(私有的)和 protected(受保护的)。此项是可选项,如果不写,默认为 private(成员变量和成员函数默认也是 private)。现在我们知道,public、protected、private ...原创 2020-05-08 00:55:09 · 3759 阅读 · 17 评论 -
C++类和对象详解
创建对象两种创建对象的方式:一种是在栈上创建,形式和定义普通变量类似;另外一种是在堆上使用 new 关键字创建,必须要用一个指针指向它,读者要记得 delete 掉不再使用的对象。通过对象名字访问成员使用点号.,通过对象指针访问成员使用箭头->,这和结构体非常类似。成员变量和函数类可以看做是一种数据类型,它类似于普通的数据类型,但是又有别于普通的数据类型。类这种数据类型是一个包...原创 2020-05-08 00:43:54 · 3326 阅读 · 14 评论 -
C++ new和delete
在C语言中,动态分配内存用 malloc() 函数,释放内存用 free() 函数。如下所示:int *p = (int*) malloc( sizeof(int) * 10 ); //分配10个int型的内存空间free(p); //释放内存在cpp中,这两个函数仍然可以使用,但是C++又新增了两个关键字,new 和 delete:new 用来动态分配内存,delete 用来释放内...原创 2020-05-07 20:23:14 · 2921 阅读 · 26 评论 -
C++std命名空间和头文件详解
一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突。当所有人的代码都测试通过,没有问题时,将它们结合到一起就有可能会出现命名冲突。例如小李和小韩都参与了一个文件管理系统的开发,它们都定义了一个全局变量 fp,用来指明当前打开的文件,将他们的代码整合在一起编译时,很明显编译器会提示 fp 重复定义(Redefinition)错误。为了解决合作开发...原创 2020-05-07 20:16:44 · 5405 阅读 · 18 评论 -
什么是编译器?(程序是怎么跑起来的)
我们平时所说的程序,是指双击后就可以直接运行的程序,这样的程序被称为可执行程序(Executable Program)。在 Windows 下,可执行程序的后缀有 .exe 和 .com(其中 .exe 比较常见);在类 UNIX 系统(Linux、Mac OS 等)下,可执行程序没有特定的后缀,系统根据文件的头部信息来判断是否是可执行程序。可执行程序的内部是一系列计算机指令和数据的集合,它们都...原创 2020-05-07 19:51:36 · 7638 阅读 · 76 评论 -
解决VS'scanf':this function or variable may be unsafe.`(VS安全函数问题)
在 VS(Visual Studio)下编译C语言程序,如果使用了 scanf()、gets()、strcpy()、strcat() 等与字符串读取或操作有关的函数,有时候VS会报错,提示该函数可能不安全,并且建议替换为带有_s后缀的安全函数,如下图所示:什么是安全函数(safe function)scanf()、gets()、fgets()、strcpy()、strcat() 等都是...原创 2020-05-07 19:43:47 · 2167 阅读 · 36 评论 -
Linux GCC简明教程(编写c语言程序)
市面上常见的 Linux 都是发行版本,典型的 Linux 发行版包含了 Linux 内核、桌面环境(例如 GNOME、KDE、Unity 等)和各种常用的必备工具(例如 Shell、GCC、VIM、Firefox 等),国内使用较多的是 CentOS、Ubuntu(乌班图)、Debian、Redhat 等。Linux 主要应用于各种服务器(例如网站服务器、数据库服务器、DNS服务器、邮件服务器...原创 2020-05-07 19:35:34 · 5360 阅读 · 32 评论 -
(图文详细)如何使用Code::Blocks运行c/cpp文件?
1) 新建源文件打开 CodeBlocks ,在上方菜单栏中选择 “文件 --> 新建 --> 空白文件”,如下图所示:或者直接按下Ctrl + Shift + N组合键,都会新建一个空白的源文件,如下图所示:在空白源文件中输入代码:在上方菜单栏中选择 “文件 -->保存文件”,或者按下Ctrl + S组合键,都可以保存源文件,如下图所示。...原创 2020-05-07 19:30:18 · 7848 阅读 · 101 评论 -
(详细图解)VS2017安装教程
VS 2017 版本同 15 版一样,细分为三个版本,分别是:社区版(Community):免费提供给单个开发人员,给予初学者及大部分程序员支持,可以无任何经济负担、合法地使用。 企业版:为正规企业量身定做,能够提供点对点的解决方案,充分满足企业的需求。企业版官方售价 2999美元/年 或者 250美元/月。 专业版:适用于专业用户或者小团体。虽没有企业版全面的功能,但相比于免费的社区版,...原创 2020-05-07 19:12:41 · 17847 阅读 · 86 评论