
c++
不服输的小白
这个作者很懒,什么都没留下…
展开
-
vscode配置mingw打造轻量级c++ IDE
目录安装vscode安装vscode插件: C/C++下载mingw,并安装配置环境变量配置你的个人工作目录开始coding1. 安装vscodewindows系统上是傻瓜式安装,直接官网下载安装即可。没什么好说的。2. 安装c/c++插件这个是必须的,打开vscode,点击"Extensions"按钮,然后输入"c/c++"搜索即可找到。安装后重启vscode生效。3. 安装mingw也是搜索安装即可,考虑到部分人没有梯子下载速度较慢,这里给一个百度云链接:链接:https:原创 2020-07-04 11:51:43 · 1031 阅读 · 0 评论 -
istringstream的使用
C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含: #include <sstream>:istringstream类用于执行C++风格的串流的输入操作。ostringstream类用于执行C风格的串流的输出操作。strstream类同时可以支持C风格的串流的输入输出操作。istringstream的构造函数如下:istringstream::istringstream(string str);示原创 2020-05-19 15:46:45 · 1305 阅读 · 0 评论 -
C++ 位运算总结
位运算的运算对象只能是整型或者字符型数据。C++ 的位运算符:按位与: &按位或: |按位异或: ^按位取反: ~C++中的移位运算:移位运算是指将二进制信息串作为整体移动。左移运算符: 低位补0,高位被移出来的位抛弃,左移1位在左移没有丢失高位信息的情况下相当于乘以2.右移运算符: 与左移相反,对于小整数,每右移1位,相当于除以2。在右移时,需要注意符号位问题。对无符号数据,右移时,左端空出的位用0补充。对于带符号的数据,如果移位前符号位为0(正数),则左端也是用0补充;如原创 2020-05-18 21:52:49 · 725 阅读 · 0 评论 -
数据结构 之 图总结
1、图的基本概念按照有无方向分为无向图、有向图。无向图中如果任意两个顶点之间都存在边则称为无向完全图,含有n个顶点的无向完全图含有n(n−1)/2n(n-1)/2n(n−1)/2条边;有向中如果任意两个顶点之间都存在两条方向相反的边则称为有向完全图,含有n个顶点的有向完全图含有n(n−1)n(n-1)n(n−1)条边;简单图:图中没有重复边以及顶点到自身的边(环)图的边(无向边或者有向边)...原创 2020-04-17 20:08:27 · 835 阅读 · 0 评论 -
C++中的多态行为
本文参考了下列博客:1. C++封装、继承、多态2. C++ protected访问权限问题封装、继承、多态是C++的三大基本特性。封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);封装和继承的目的都是为了"代码重用",多态则是为了实现另一个目的:接口重用。多态说的简单一些就是"相同的调用产生不同的行为"。这句话具体的涵义在下面会通过例子来解释。一、虚函数C...原创 2019-12-04 16:18:26 · 334 阅读 · 0 评论 -
常用的C++小代码段
1、win10上在程序中调用.exe文件,并获取返回值这里只比较其中的两种方式:WinExec和system。它们的区别是:WinExec()有两个参数,第一个参数是要执行的cmd,第二个参数可以设置窗口如何显示。但是要注意的是WinExec()是不同步的进程调用,一经调用立刻就会返回一个值(这个值用来表示是否调用成功),如果调用成功则返回值大于31,调用失败则返回值小于31。system...原创 2019-10-31 09:24:46 · 1301 阅读 · 0 评论 -
c++模板-template
为什么需要模板? 我们使用过重载函数,c++可以根据函数的函数和所属类的不同正确的选择调用哪个参数。比如,我们要实现一个函数,完成int、float、double三种类型的数据的加法,那么我们可以重载add函数,来实现这个功能。函数原型如下:int add(int, int);float add(float, float);double add(double, doubl...原创 2018-10-11 22:18:19 · 219 阅读 · 0 评论 -
#define和#ifdef的使用
之前没有写过什么大工程,所以没有怎么关注过条件编译。今天在看代码的时候发现里面用到了#define和#ifdef来调试代码。于是就看了一下。顺便再做个笔记。先介绍一下条件编译: 条件编译是根据实际定义的宏(可以认为是某一类条件)进行代码静态编译的手段。可以根据表达式的值或者某个特定宏是否被定义来确定编译条件。在看几个预编译指令(预编译指令很多,这次只介绍用到的三个):#...原创 2018-10-10 21:48:00 · 7853 阅读 · 0 评论 -
c++中的main函数的argc, argv参数的意义
如果用的IDE是Visual Studio,要传入命令行参数的话,需要对项目属性进行一些简单的设置。设置如下:测试代码如下:#include <iostream>using namespace std;int main(int argc, char **argv) { cout << "argc = " << argc <<...原创 2019-02-19 11:32:16 · 393 阅读 · 0 评论 -
win10上VS 2015配置eigen3
首先官网下载eigen3。下载完成之后解压,里面的Eigen文件夹下的东西就是我们要用的。然后,新建一个文件夹命名为eigen3,并将里面的Eigen文件夹拷贝到eigen3的目录下面。新建VS工程,注意一定要将“解决方案配置改为x64”,如下图:然后,配置系统的include属性,如下图:这样,环境就配置好了。使用下面的程序测试一下:#include <i...原创 2019-03-13 23:16:48 · 6853 阅读 · 9 评论 -
windows上共享内存操作
windows共享内存共享内存主要是通过映射机制实现的。windows下进程的地址空间在逻辑上是相互隔离的,但是在物理上确实相互重叠的。所谓的重叠是指同一块内存区域可能被多个进程同时使用。在windows程序开发过程中,当多个进程之间需要访问共同的数据的时候,最好的方式就是使用共享内存进行处理。编写共享内存的程序模式上基本上是一样的,大致为下面几个过程:调用CreateFileMappi...原创 2019-05-27 17:46:26 · 7005 阅读 · 0 评论 -
vscode使用相关
1、在Ubuntu16.04上使用vscode的时候,#include包含头文件的时候经常会出现下图中的错误:这是因为vscode没有找到相关的头文件定义。这个问题虽然不解决也能够编译成功,但是当我们要调用这个头文件中的功能时,没有智能提示或者自动补全功能。因为vscode根本就不知道这个文件中的内容。要解决这个问题,需要配置c_cpp_properties.json文件中的IncludeP...原创 2019-06-10 22:09:53 · 973 阅读 · 0 评论 -
c++使用jsoncpp处理json格式数据
jsoncpp是一个轻量级的用于处理json格式数据的C++库。1、安装jsoncpp直接通过命令行的方式来安装:sudo apt-get install libjsoncpp-dev安装完成之后,头文件在:/usr/include/jsoncpp/目录下;库文件在:/usr/lib/x86_64-linux-gnu目录下。2、使用jsoncpp在ubuntu16.04系统上,...原创 2019-08-12 12:02:31 · 1971 阅读 · 0 评论