编程
weixin_41353540
这个作者很懒,什么都没留下…
展开
-
引用形式传参,int &a,vector<int> &a,const vector<int> &a
首先介绍一下为什么我们要使用引用形式进行参数传递。我们写一个函数 void fun(int a,int b),这样的函数调用时是不会改变参数的值的,在函数中也就是以一个局部变量的形式存在,当函数结束时,变量a,b的生命周期也就结束了。而对于 void fun(int &a,int &b),这种形式进行参数传递,其实是一种指针的形式,如果在函数内我们改变了a,b的值,当函数结束后,原...转载 2018-04-13 09:59:28 · 2478 阅读 · 1 评论 -
C++11的Lambda表达式
这是C++11的Lambda表达式,用来定义匿名函数。在这代码中,auto mid = [&]{ return v.begin() + v.size() / 2; };等价于定义了函数mid,其参数个数为0个,&表示直接引用外部变量,函数体是:return v.begin() + v.size() / 2;具体详见C++ —— Lambda表达式...转载 2018-06-08 17:05:10 · 500 阅读 · 0 评论 -
C++11 列表初始化、序列生成器 Generator
int a[] = {1,3,5,7,9};std::for_each(std::begin<int>(a), std::end<int>(a), [&](int n) {cout << n;});//这样会把13579输出来。二、C++11扩大了初始化列表的适用范围,使其可用于所有内置类型和用户定义的类型。无论是初始化对象还是某些时候为对象赋新值,...转载 2018-06-08 16:51:53 · 3203 阅读 · 0 评论 -
C++:vector中的resize()函数 VS reserve()函数
C++:vector中的resize()函数 VS reserve()函数2016年10月27日 16:07:42阅读数:2716 http://www.cplusplus.com/reference/vector/vector/vector/写代码的时候无意错用了这两个函数 导致测试的时候,程序运行崩溃...转载 2018-06-08 15:33:19 · 356 阅读 · 0 评论 -
C++成员函数后面跟冒号冒号
冒号后面跟的是赋值,这种写法是C++的特性。A( int aa, int bb ):a(aa),b(bb){}相当于A( int aa, int bb ){a=aa;b=bb;}转载 2018-06-08 15:05:22 · 3978 阅读 · 0 评论 -
git polar problem
1、c++中set容器定义对象时,参数列表中显式调用greater无法被识别sort 排序中 第三个参数。 std::greater<double>() 需要加 #include<functional> 功能的 头文件2、(1)第一个是要排序的数组的起始地址。(2)第二个是结束的地址(最后一位要排序的地址)(3)第三个参数是排序的方法,可以是从大到小也可是从...原创 2018-06-08 12:14:48 · 157 阅读 · 0 评论 -
指针、取址 ,传参问题 double *vth, double &llr_msb
#include "head.h"using namespace std;void ll(double *vth, double &llr_msb){ *vth = 5; llr_msb = 8;// *vth表示变量}void main(){ double vth=0, llr_msb=0; ll(&vth, llr_msb); // llr_msb为变...原创 2018-05-24 10:54:17 · 225 阅读 · 0 评论 -
VC++ 报“error C2060:意外的类型“double””错误
double xx=0 ; double yx=0; 两句中的应为 ; ,若用 , 则出现 意外的类型“double””错误。原创 2018-05-14 16:21:36 · 7921 阅读 · 0 评论 -
堆内存,栈内存区别
栈内存:栈内存首先是一片内存区域,存储的都是局部变量,凡是定义在方法中的都是局部变量(方法外的是全局变量),for循环内部定义的也是局部变量,是先加载函数才能进行局部变量的定义,所以方法先进栈,然后再定义变量,变量有自己的作用域,一旦离开作用域,变量就会被释放。栈内存的更新速度很快,因为局部变量的生命周期都很短。 堆内存:存储的是数组和对象(其实数组就是对象),凡是new建立的都是在堆...转载 2018-05-17 20:54:49 · 215 阅读 · 0 评论 -
命名空间技巧
如果在程序中用到了两个或多个开源程序,其中都封装成静态库了,但两者均定义了typedef int64_t ,怎样在我的程序中解决这个问题呢?用命名空间的方式。namespace XXX_Lib{#include "XXX_.h"}XXX_Lib::int64_t iN;copy from https://bbs.csdn.net/topics/360070405...转载 2018-05-16 22:56:14 · 111 阅读 · 0 评论 -
Q函数(标准正态函数右结尾积分)or标准正态函数积分
const double M_SQRT1_2 = sqrt(0.5);double normalCFD(double value){ return 0.5 * erfc(-value * M_SQRT1_2);}原创 2018-05-09 22:46:58 · 3855 阅读 · 0 评论 -
[C++11]C++11带来的随机数生成器
1. random_device 标准库提供了一个非确定性随机数生成设备.在Linux的实现中,是读取/dev/urandom设备;Windows的实现居然是用rand_s,在这里强烈谴责一下. random_device提供()操作符,用来返回一个min()到max()之间的一个数字.如果是Linux(Unix Like或者Unix)下,都可以使用这个来产生高质量的随机数,可以理解为真随机数...转载 2018-05-09 22:42:37 · 874 阅读 · 0 评论 -
2.122e-314问题
一、解决过程:0xcc 没初始化 ; 0xcc win给初始化等,默认初始。 运行下面程序,看监视 int main(){double y=0;double x =2.121995e-314;return 0;}二、越界了 ,利用Eigen 库初始化,PM.setZero(EncodedLength, 2 * List); for (int l = 0; l < 2*L...原创 2018-04-21 12:25:39 · 1167 阅读 · 0 评论 -
generate
STL 之generate和generate_n作用:用来生成元素,并将其填充到一个序列中。定义:[cpp] view plain copy #include <algorithm> template <class forwardItr, class function> void generate(forwardItr first, forwardItr last, f...转载 2018-06-08 17:06:40 · 427 阅读 · 0 评论