C++
阿桑-
这个作者很懒,什么都没留下…
展开
-
C++虚函数表和多态
这个视频上解释的很好,C++在调用可重写的虚函数时,通过访问虚函数表来进行,这个UP主通过解释编译后的代码把多态分析的很清楚。https://www.bilibili.com/video/BV15g4y1a7F3?p=1原创 2021-10-11 09:12:53 · 292 阅读 · 0 评论 -
虚析构函数的作用
虚析构函数namespace space3 { /* 析构函数 和 虚析构函数 在父类指针指向子类对象时, ~Animal()函数前,如果没加virtual,子类的析构函数~Cat()不会被调用 */ class Animal { public: Animal(){} virtual ~Animal() { cout << "~Animal " << endl; } virtual void Talk() { cout <<原创 2021-10-10 22:19:29 · 282 阅读 · 0 评论 -
设计模式-观察者模式
参考博客:https://blog.csdn.net/wuzhekai1985/article/details/6674984原创 2019-02-22 14:19:55 · 128 阅读 · 0 评论 -
LPCTSTR类型介绍
参考:https://www.xuebuyuan.com/1182742.html原创 2019-10-18 12:34:17 · 3569 阅读 · 0 评论 -
C++四种类型转换
参考:https://www.cnblogs.com/hyd5648/p/3921501.html原创 2019-08-06 10:41:45 · 137 阅读 · 0 评论 -
C++匿名函数Lambda
转载自:源码先生 的 调试人生连接:https://www.debugself.com/archives/94C++11 Lambda表达式Lambda表达式称为匿名函数,所谓匿名函数,有以下两方面的含义Lambda表达式是函数的一种,从功能上看,Lambda表达式和函数的作用完全一样(虽然Lambda表达式实质是一个类),使用Lambda表达式完成的功能,也可以使用普通函数来完成;L...原创 2019-08-01 10:48:26 · 159 阅读 · 0 评论 -
openMP的简单使用
安装,参考:https://blog.csdn.net/augusdi/article/details/8808226原创 2018-09-11 16:09:18 · 429 阅读 · 0 评论 -
C++二级指针
如果动态分配一个2维数组,3行4列,int **map = new int*[3];for (int i = 0; i < 3; i++){ *(map + i) = new int[4];}当这样写是动态申请的内存,内存空间为如下所示。可以看出动态申请的二维数组中内存不是连续的,for (int i = 0; i < 3; i++){ for (int j = 0...原创 2019-05-16 20:37:26 · 588 阅读 · 0 评论 -
指针数组和数组指针
int p[4] 与 int (p[4]) 等价[]优先级比高,因此p先和[]结合,表明p是一个数组,且含有4个元素,然后再和结合,表明数组元素为指针,最后指明指针指向的是int类型的数据,因此等价为int *(p[4])也就是指针数组,而如果是int (*p)[4]那就是数组指针...转载 2019-02-17 21:51:00 · 114 阅读 · 0 评论 -
C++类型转换
static_cast和dynamic_cast转换:参考:https://blog.csdn.net/u014624623/article/details/79837849原创 2019-08-02 10:39:34 · 124 阅读 · 0 评论 -
优先队列priority_queue的使用方式
参考:https://blog.csdn.net/c20182030/article/details/70757660原创 2019-08-30 11:26:35 · 132 阅读 · 0 评论 -
Libcurl安装与HelloWorld
Windows系统下安装方式如下:https://blog.csdn.net/qq_37958578/article/details/79973265原创 2019-09-09 11:58:23 · 245 阅读 · 0 评论 -
命令行调用VS编译器
不用打开VS编译器,直接用命令行操作,参考:https://blog.csdn.net/luoweifu/article/details/49847749原创 2019-09-17 10:49:57 · 866 阅读 · 0 评论 -
Libcurl的介绍
libcurl的简单使用介绍:https://blog.csdn.net/u010487568/article/details/52958367libcurl中的get、post方法等介绍https://blog.csdn.net/cy_cai/article/details/41941161原创 2019-09-10 12:07:08 · 156 阅读 · 0 评论 -
套接字介绍
1.套接字套接字是通信双方在通信时所使用的通信点(Endpoint),通信双方通过通信点来交换信息和数据。当一个进程想和另一个进程进行网络通信时,它必须知道另外一个进程所在的目标机器的IP地址,同时也必须有一种机制来标识机器上的进程,这种机制就是端口号。目标机器通过端口号才能确定应该把接收到的数据发往那个进程。由于网络通信本身也有不同的类型之分(比如TCP和UDP),同一个端口号在使用不同的传...原创 2019-09-27 09:59:31 · 3199 阅读 · 0 评论 -
git的一些命令
git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit原创 2019-09-29 18:40:04 · 173 阅读 · 0 评论 -
C语言中#define中的一些特殊用法
转载自:http://blog.sina.com.cn/s/blog_4a4365030100edq7.htmldefine是C语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。预处理命令以“#”号开头,如包含命令#include,宏定义命令#define等。一般都放在源文件的前面,它们称为预处理部分。所谓预处理是指在进行编译之前所作的工作。预处理是C语言...转载 2017-05-10 17:54:57 · 1528 阅读 · 0 评论 -
C++中虚函数、纯虚函数、普通函数三者的区别
转载自:https://www.cnblogs.com/cj2014/p/7692707.html 1.虚函数(impure virtual) C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现。 子类可以重写父类的虚函数实现子类的特殊化。 如下就是一个父类中的虚函数:class A{public: virtual void o...转载 2018-04-08 10:59:28 · 974 阅读 · 0 评论 -
C++函数指针使用总结
一 函数指针介绍函数指针指向某种特定类型,函数的类型由其参数及返回类型共同决定,与函数名无关。举例如下:int add(int nLeft,int nRight);//函数定义 该函数类型为int(int,int),要想声明一个指向该类函数的指针,只需用指针替换函数名即可:int (*pf)(int,int);//未初始化 则pf可指向int(int,int)类型的函数。p...转载 2018-04-08 09:48:55 · 686 阅读 · 0 评论 -
C++预处理指令#define,#if,#endif等
转载自:“https://www.cnblogs.com/xiehongfeng100/p/4594849.html”,原文写的更加详细,还有代码解释,建议看原文。 本文主要记录了C/C++预处理指令,常见的预处理指令如下:#空指令,无任何效果#include包含一个源代码文件#define定义宏#undef取消已定义的宏#if如果给定条件为真,则编译下面原创 2018-01-30 15:40:04 · 1175 阅读 · 0 评论 -
C++开源项目
转载自:http://www.cnblogs.com/liinux/ 程序员要站在巨人的肩膀上,C++拥有丰富的开源库,这里包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。 github:https://github.com/fffaraz/awesome-cpp标准库C++ Standard Library:是一系列类和函数的集合,使用核心语...转载 2017-10-08 13:20:06 · 1498 阅读 · 0 评论 -
C++中operator的两种用法
首先声明,转载自:http://blog.csdn.net/skdkjzz/article/details/45872801 转换函数的名称是类型转换的目标类型,因此,不必再为它指定返回值类型;转换函数是被用于本类型的数值或变量转换为其他的类型,也不必带参数 在写这篇文章之前,让我们先回顾一下编译器通过匹配过程确定调用哪一个函数的匹配顺序:(1)寻找和使用最符合函数名和参数类型(包...转载 2017-05-19 15:43:29 · 2892 阅读 · 0 评论 -
C++文件操作
参考博客:https://blog.csdn.net/btooth/article/details/995097简介本教程将以C++最基本的文件I/O(输出/输出)开始。此后,我将从更深入的方面,为你展示一些技巧,并分析给出一些有用的函数。你需要对C++有一个较好的理解,否则这个教程于你而言将是陌生而毫无用处。 你的第一个程序 首先我将给出一段代码,接着再逐行进行解释。我们...转载 2014-04-22 13:17:37 · 1043 阅读 · 0 评论 -
scanf( )函数的返回值
当从键盘连续进行输入时用while,但是程序自己不会通过正常的输入结束。scanf("%d%d",&a, &b);如果a和b都被成功读入,scanf()的返回值是2如果只有a被成功读入或者只有b被成功读入,scanf()的返回值为1如果a和b都未被成功读入,scanf()的返回值为0如果遇到错误或遇到End Of File,scanf()的返回值为EOF。要...转载 2014-04-22 13:10:56 · 1172 阅读 · 0 评论 -
C/C++中system()函数详解
转载自:http://hi.baidu.com/519378007/item/5c49bb05e23728dbdce5b0e7windows下system () 函数详解 windows操作系统下system () 函数详解(主要是在C语言中的应用) 函数名: system 功 能: 发出一个DOS命令 用 法: int system(char *command);...转载 2014-04-10 21:20:15 · 84443 阅读 · 0 评论 -
怎样清空输入缓冲区里的内容
参考自:http://blog.csdn.net/devil_2009/article/details/6364759 fflush()的作用是用来刷新缓冲区,fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃;fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西强制打印到标准输出设备上。 fflush(stdin)不太常用,在有些编译器...转载 2014-04-04 18:42:44 · 998 阅读 · 0 评论 -
C语言里的写文件
转载自:http://blog.csdn.net/shuimuzhiyuan/article/details/6908335部分转载自:http://blog.csdn.net/lijun5635/article/details/13095883一 、fopen()函数中第一个形式参数表示文件名, 可以包含路径和文件名两部分。如:"B:TEST.DAT""C:\\TC\\TEST.DA...转载 2014-03-30 14:32:08 · 919 阅读 · 0 评论 -
清空输入缓冲区fflush()
转自:http://blog.csdn.net/21aspnet/article/details/174326scanf( )函数可以接收输入的换行符,'\n',(asci为10),利用函数fflush(stdin),可以清空输入内存缓冲区。 // function name fflush// 清空一个流 ,2014--03--29#include <stdio.h&g...转载 2014-03-29 13:47:19 · 1465 阅读 · 0 评论 -
字符和字节的区别
转载自:http://wuyue37307.blog.163.com/blog/static/27583712009111410531580/字节(Byte): 字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。字节是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间....转载 2014-03-29 12:59:34 · 11548 阅读 · 1 评论 -
Win32中如何判断多个键同时按下
可以使用下面的两个Win32函数 GetKeyState The GetKeyState function retrieves the status of the specified virtual key. The status specifies whether the key is up, down, or toggled (on, off—alter...原创 2016-02-25 10:09:22 · 3593 阅读 · 0 评论 -
C++运算符重载
转载自:http://blog.csdn.net/lishuzhai/article/details/50781753 为什么要对运算符进行重载:C++预定义中的运算符的操作对象只局限于基本的内置数据类型,但是对于我们自定义的类型(类)是没有办法操作的。但是大多时候我们需要对我们定义的类型进行类似的运算,这个时候就需要我们对这么运算符进行重新定义,赋予其新的功能,以满足自身的需求...转载 2017-05-18 15:23:29 · 388 阅读 · 0 评论 -
C++模版类的简单使用
声明转载自:http://blog.csdn.net/hackbuteer1/article/details/67357041、模板的概念我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数...转载 2017-05-18 11:12:39 · 502 阅读 · 0 评论 -
C++移位得到int型最大值
C++里默认int型1的二进制表示为:0000 0000 0000 0000 0000 0000 0000 0000如果左移31位,会得到最小值1&amp;amp;amp;amp;amp;amp;lt;&amp;amp;amp;amp;amp;amp;lt;31 //会得到-2147483648,即int型最小值左移31位,得到的int型数字的二进制表示为:1000 0000 0000 0000 0000 0000 0000 0000因为i原创 2018-07-02 11:33:59 · 1352 阅读 · 0 评论