
C++
洋芋片炒肉
洁己以进,反身而诚
展开
-
字符艺术字
$ sudo apt-get install figlet$ sudo apt-get install toilet$ figlet ZYY _______ ____ __|__ /\ \ / /\ \ / / / / \ V / \ V / / /_ | | | | /____| |_| |_|原创 2021-11-10 14:45:18 · 868 阅读 · 0 评论 -
C++学习资源
C++ referenceC++ Core Guidelines知乎经验,关于学习方法和开源项目的推荐https://www.zhihu.com/question/29112393/answer/511136742一些C++开源库 https://en.cppreference.com/w/cpp/links/libs暂时记录这些原创 2021-01-10 21:01:26 · 251 阅读 · 0 评论 -
Centos 7和Ubuntu安装 netcdf
netcdf4可以从源码编译,或者用yum直接安装预编译版本1 安装hdf5和zlibsudo yum install zlibsudo yum install hdf52 安装netcdf-csudo yum install netcdfsudo yum install netcdf-devel3 安装netcdf-c++sudo yum install...原创 2018-08-05 16:56:02 · 5896 阅读 · 2 评论 -
Windows下使用mingw的g++编译的程序怎么在别人电脑运行
需要静态链接标准库,在链接过程中使用 -staticmakefile的头部可这么写CXX :=g++CXXFLAGS := -std=c++11 -O3 -fopenmp -Wfatal-errorsLINKFLAGS :=#If the operating system is windowsifeq ($(OS),Windows_NT)LINKFLAGS += -staticendif...原创 2020-08-15 10:21:41 · 937 阅读 · 0 评论 -
在windows中使用gcc编译器和make工具
1 下载msys2官网下载:https://www.msys2.org/从清华大学开源软件镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/msys2/distrib/下载后安装2 msys2换源由于国外的源比较慢,所以要更换成国内源,比如清华大学镜像站。首先在安装目录下找到\etc\pacman.d\文件夹,然后修改以下几个文件:(1)修改\etc\pacman.d\mirrorlist.mingw32在最上面添加下面内容Server = https:/原创 2020-08-05 12:06:45 · 1312 阅读 · 0 评论 -
C++随机数产生以及通过Eigen库获得正态分布的随机矩阵
简介在C++11标准之前,一般是利用rand()函数产生一个均匀分布的,范围从0到系统相关的最大值之间的随机整数,然后再通过转换得到不同分布的随机数,这种方法比较麻烦,同时转换过程中会引入非随机性。C++11标准中,定义了随机数引擎类和随机数分布类,通过随机数引擎和随机数分布的组合,可以产生各种分布的随机数。这些类包含在头文件random中,使用前需要先包含random头文件:#includ...原创 2018-10-26 14:36:42 · 7906 阅读 · 3 评论 -
利用标准库std::sort()对Eigen库的向量进行排序
Eigen 是一个不错的线性代数库,提供了一般的矩阵和向量操作,以及诸多数值线性代数的算法。但是,我找了很久没有类似于Matlab的sort函数那样对向量进行排序函数,于是写了一个函数来实现这个功能。#include<iostream>#include<algorithm>#incl原创 2018-10-25 17:44:10 · 5563 阅读 · 7 评论 -
C++中的lambda表达式初探
简介可调用对象 可调用对象(callable object)是指可以通过()运算符传入参数然后返回运算结果的对象或表达式(此处"对象"是一般含义,不特指类的实例化对象),如果e是一个可调用对象,那么我们可以通过e(args)调用它,其中args是参数列表。在C++中的可调用对象有:函数,函数指针,重载了函数调用运算符的类,lambda表达式lambda表达式 类似于matlab中的内联函数,...原创 2018-10-25 16:42:29 · 308 阅读 · 0 评论 -
C++读取文本文件时跳过注释和空行
引言有时候我们需要自定义文件内容格式,然后从文本文件中读取数据或控制信息,在程序里面进行相应的处理。例如用文本文件存储空间点的坐标,设定文件的每一行有三个数,分别表示x y z,比如0 0 01 2 32 3 3表示(0, 0, 0), (1, 2, 3), (2, 3, 3)三个点。由于文件里面的数据组织格式是自己定义的,别人不一定能看得懂,甚至过段时间之后自己都忘了。为了增...原创 2018-08-26 16:00:18 · 16882 阅读 · 7 评论 -
c++编译器选项笔记
记录一些常用的C++编译器选项。g++GCC是 GNU Compiler Collection 的缩写,是多种语言的编译器集合。GCC在历史上也指GNU C Compiler,这就不难理解为什么gcc也是C语言的编译命令了。GCC (GNU Compiler Collection)实际上综合了多种语言,其支持的语言包括C, C++, Objective-C, Objective-C++, ...原创 2018-07-31 14:05:07 · 3945 阅读 · 0 评论 -
makefile学习个人笔记
1. Rules2. Variable3. Wildcast4. String substitution5. Pattern Rules1. Rules基本形式:targets : prerequisites recipe ...targets 要生成的目标文件,或者定义的命令prerequisites targets所...原创 2018-07-30 19:44:01 · 466 阅读 · 0 评论 -
C++11判断inf, nan
参考链接:http://en.cppreference.com/w/cpp/numeric/math/isinf程序中碰到nan却找不到哪里出错是最让人头疼的问题之一判断inf如果是inf则返回true, 其他情况(包括nan)返回falsebool isinf( float arg );bool isinf( double arg );bool isinf( long d...原创 2018-05-25 02:25:48 · 17052 阅读 · 0 评论 -
运行时多态性:JAVA的重写和C++中的虚函数
在继承层次结构中,父类和子类可能会定义同样的成员函数(方法)来实现同一种操作,但是由于父类比子类更抽象,所以两者的具体实现会不一样,运行时多态性能确保调用的是想要的那个方法。这在JAVA中是通过“重写”机制实现的: 父类和子类具有相同的方法,其返回值、参数类型、方法名都相同,但具体实现不同。当一个父类引用绑定子类的对象时,该方法的调用是调用所绑定的子类对象中所定义的具体实现。...原创 2016-12-21 14:18:22 · 1433 阅读 · 0 评论 -
C++中数组作为形参时,实际传的是指针
传数组时,实际上是创建了临时的指针变量,指向传进去的那个数组。在函数中改变形参数组(临时指针变量)的指向是可以的,只不过这样做不会改变原来的数组//例子说明数组做形参时,实际上是用一个临时指针变量做形参,指向传进去的数组首地址。实际的数组是常指针,不能改变它的值。#includeusing namespace std;int f(int *a,int *b);int main(原创 2016-12-21 11:38:14 · 4283 阅读 · 0 评论 -
当函数重载碰上默认参数(C++)
int fun(int a,int b=0,int c=0){ return a+b+c;}int fun(int a,int b=0){ return a*b;}int fun(int a){ return a*a;}#includeusing namespace std;int main(){ int a=1,b=2,c=0; c=fun(a); cout<<"c=原创 2016-11-17 19:07:39 · 443 阅读 · 0 评论 -
同一个类不同对象,可以互相访问对方的私有成员而不通过get()或set()
今天看C++的书看到有一个类,类中定义了静态私有的本类对象,然后默认的构造函数是用此静态对象直接用 . 运算符访问自身成员来初始化的。成员的访问控制符是针对类而言的,而不是对象的,下面用C++验证原创 2016-03-07 20:15:05 · 1905 阅读 · 0 评论