自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (1)
  • 收藏
  • 关注

原创 iterator源码分析

const_iteratorclass _Vector_const_iterator 中有成员using iterator_category = random_access_iterator_tag; using value_type = typename _Myvec::value_type; using difference_type = typename _M...

2019-08-31 19:51:01 438

原创 atoi stoi

atoi和stoi的区别①atoi()的参数是 const char* ,因此对于一个字符串str我们必须调用 c_str()的方法把这个string转换成 const char*类型的,而stoi()的参数是const string*,不需要转化为 const char*;②stoi()会做范围检查,默认范围是在int的范围内的,如果超出范围的话则会runtime error!而atoi()...

2019-07-31 15:21:37 496

原创 n皇后

问题描述:n个元素,任意两个不在同一行同一列,且不在对角线上的可能性。#include <iostream>#include <vector>#include <algorithm>using namespace std;int sum = 0;int visit[100000];//int p[100000];vector<int&gt...

2019-05-22 16:16:13 248

原创 C++ 内存池

关于内存池在大多分配器中,在标准库中的容器中,一般是用标准库的template <class _Ty, class _Alloc = allocator<_Ty>>;也就是标准库的allocator,使用的是operator new。值得注意的是,此allocator是带有cookie的,内部实际就是一个operator new调用一次malloc。内存池的设计,一个通...

2019-05-14 15:10:28 202

转载 find只查当前目录 和 -exec和xargs区别

1 find默认查找当前目录和子目录,通过maxdepth限制只查当前目录:find . -maxdepth 1 -type f -name "*.php"2find . -name “.txt" -exec rm {} ;find . -name ".txt” | xargs rm {}-exec  1.参数是一个一个传递的,传递一个参数执行一次rm  2.文件名有空格等特殊字符...

2019-03-19 15:54:04 4533

原创 __stdcall和__cdecl的区别

__cdecl#include &amp;lt;iostream&amp;gt;using namespace std;int __cdecl add(int a,int b){ return 0;}int main(){ int a=1; int b=2; add(a,b); int c=3; return 0;}_main: leal 4(%esp), %ecx and...

2019-03-11 20:19:43 1792

转载 深入理解数据成员指针、函数成员指针

1. 数据成员指针对于普通指针变量来说,其值是它所指向的地址,0表示空指针。 而对于数据成员指针变量来说,其值是数据成员所在地址相对于对象起始地址的偏移值,空指针用-1表示。例:代码示例:struct X { int a; int b;};#define VALUE_OF_PTR(p) (*(long*)&amp;p)int main() { in...

2018-12-20 19:27:46 634

翻译 What is the VTT for a class?

What is the VTT for a class?The page &quot;Notes on Multiple Inheritance in GCC C++ Compiler v4.0.1&quot; is offline now, and http://web.archive.org didn't archive it. So, I have found a copy of the text at t...

2018-12-19 19:26:40 755

转载 strtok函数源码

今天用到strtok时,总感觉怪怪的,为啥第二次调用第一个参数要用NULL, 难道是函数内部保存了当前的状态,假如这样的话,那就不能对多个串交叉调用strtok了,而且保存这个状态的不是全局变量就是static变量。 于是看了他的源码,有几个不同的版本,思想是一样的。 感觉写的挺巧妙的,深深的折服这些写库函数的牛人了。&nbsp;下面是源码版本一 char *s; /*...

2018-12-13 20:50:44 424

转载 tensorflow下的局部响应归一化函数tf.nn.lrn

实验环境:windows 7,anaconda 3(Python 3.5),tensorflow(gpu/cpu) 函数:tf.nn.lrn(input,depth_radius=None,bias=None,alpha=None,beta=None,name=None) 函数解释援引自tensorflow官方文档 https://w...

2018-12-11 18:48:27 1809

转载 关于TensorFlow中函数conv2d参数stride,padding的理解

刚刚接触TensorFlow,很多地方不是很理解,虽然之前有过相关的理论学习,但具体的代码实现,还需破费心力。TensorFlow中函数conv2d主要实现了输入张量与设定卷积核的卷积操作,其函数形式如下:tf.nn.conv2d( input, filter, strides, ...

2018-12-10 20:35:09 1152

原创 memcpy源码

memcpy和strcpy一样,没有处理内存重叠;而memmove函数对这种情况进行了处理。了解一下实现方法,大体如下:void *memcpy(void *dst, const void *src, size_t len){ if(NULL == dst || NULL == src){ return NULL; } void *ret = dst; if(dst &lt...

2018-11-29 19:50:13 875

转载 LaTex一些符号

写Rmarkdown与markdown有时需要用到公式,掌握一些基本的LaTex符号还是有必要的。(以下内容主要摘自“一份不太简短的 LATEX2e 介绍”)1、指数和下标可以用^和_后加相应字符来实现。比如:2、平方根(square root)的输入命令为:\sqrt,n 次方根相应地为: \sqrt[n]。方根符号的大小由LA...

2018-10-18 18:46:52 1008

原创 latex去心领域符号

使用 \mathring{U} 即可打出U˚\mathring{U}U˚如 \mathring{U}(x_0, \delta) 在LaTeX公式下表示为:U˚(x0,δ)\mathring{U}(x_0, \delta)U˚(x0​,δ)

2018-10-14 16:07:16 10024 1

转载 sed 's///g' 与sed 's///' 的区别

sed ‘s///g’ 与sed ‘s///’ 其实是有很大区别的,要是不注意肯定出错,请看例子:题目:删除一个文件里开头的空白ps:&nbsp;&nbsp;/^&nbsp;*/&nbsp;匹配以空格开头的字符&nbsp;&nbsp;&nbsp;&nbsp;/^\s/&nb...

2018-08-21 20:19:56 16644 1

转载 error LNK2019: 无法解析的外部符号 "public: __cdeclXX(void)" (??0C@@QEAA@XZ),该符号在函数 main 中被引用

1、问题:最近使用QT 5.9.5 设计界面,遇到一个纠结的问题:建立工程后,再新建一个新的类(如class a),类声明在a.h头文件中,在main.cpp中 #include “a.h” 但是在链接过程中报错:类a的所有成员函数(构造函数,析构函数等)均无法识别,被编译器标为“无法解析的外部符号”。解决:将当前qt工程所在的父目录下的 build-(工程名)-Desktop_Q...

2018-08-14 20:36:21 9445

原创 C++友元函数

C++友元函数的理解我们知道,C++ 的三大特性之一:封装。 如果我们需要对外部提供一个接口,去访问某个类中的全部成员(不管是public还是private)。则C++的友元函数能够为我们实现。关于友元函数的具体实现我就不再解释了,具体可以参考友元函数。 现在我想通过某个类的成员函数,去调用友元函数class A{public: A()=default; friend...

2018-08-10 16:09:03 191

原创 bind 非静态成员函数时 注意传入对象

#include &amp;amp;amp;quot;stdafx.h&amp;amp;amp;quot;#include &amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;lt;functional&amp;amp;amp;amp;gt;using namespace std;std::function&amp;amp;amp;amp;lt;i

2018-08-02 10:15:40 1617

原创 anaconda和spyder打不开

在windows中更新一些库后出现anaconda和spyder无法打开的情况,尝试了各种方法均无果,后来得知是更新相关库时把pythonw.exe 文件删除了,所以只需要再找一台有pythonw.exe 文件,把pythonw.exe 拷贝到原来的位置既可。...

2018-07-04 12:38:39 5425 3

转载 clang warning LNK4217 本地定义的符号 __std_terminate

使用clang的时候,出现这样的警告:warning LNK4217: 本地定义的符号 __std_terminate 在函数 &amp;amp;quot;int `public:static unsigned __int64 __cdecl std::char_traits&amp;amp;amp;lt;char&amp;amp;amp;gt;::length(char const...

2018-05-28 19:53:44 5511

转载 template显式具体化、显式实例化、隐式实例化

模板的局限性:假设有如下模板函数:template &lt;class T&gt;void f(T a, T b){…}通常,代码假定可执行哪些操作。例如,下面的代码假定定义了赋值,但如果T为数组,这种假设将不成立:a = b;同样,下面的语句假设定义了&lt;,但如果T为结构,该假设便不成立:if(a &gt; ...

2018-05-22 20:46:56 1203

转载 C和C++混合编译,extern"C"的用法

第一篇:转载于C和C++混合编译关于extern_C 通常,在C语言的头文件中经常可以看到类似下面这种形式的代码#ifdef __cplusplus extern &quot;C&quot; { #endif /**** some declaration or so **...

2018-04-21 15:03:53 994

原创 C++右值引用

一般的,我们最先接触的引用大多是诸如:int val = 10;int &amp;ref = val;上述的引用方式我们称为左值引用。 而右值引用发生在如下情况:int val = 10;int &amp; ref = val + 1; //此句不合法,因为右值无法赋值给左值引用const int&amp; ref = val + 1;//合法解释:资料说C++中临时变量默...

2018-04-10 14:43:33 201

原创 python读取含中文的csv文件

pandas.read_csv()函数读取含有中文的csv文件时,很可能会遇到 ‘utf8’ codec can’t decode byte…之类的错误 最简单的办法就是将csv通过notepad++转化为utf-8格式,在用pandas 导入就行了。...

2018-03-28 14:31:12 7100

原创 C++虚函数表(vtable)和虚函数指针(vfptr)

编译器会构建一张虚表( vtable ),每一个类都有自己独特的虚表。同时,在这个继承链上,编译器会为基类插入一个隐式的指针(一般是对象的首地址),指向虚表,称为__vptr。然后,子类继承父类时,会获得继承下来的__vptr,再根据自己的类的情况兼容(修改虚函数表里的值、发生偏移等。于是,当我们构建具体的类时,若是基类类型,__vptr就会指向父类的vtable,若是子类类型,__vptr就会指

2018-01-23 21:54:39 6976 2

转载 理解C++ dynamic_cast

在static_cast、dynamic_cast中介绍的不够详细,所以找了一些自己觉得不错的资料,如下:作为四个内部类型转换操作符之一的dynamic_cast和传统的C风格的强制类型转换有着巨大的差别。除了dynamic_cast以外的转换,其行为的都是在编译期就得以确定的,转换是否成功,并不依赖被转换的对象。而dynamic_cast则不然。在这里,不再讨论其他三种转换和C风格的转换

2018-01-19 21:29:28 795

原创 C++ dynamic_cast、const_cast 、static_cast、reinterpret_cast

dynamic_cast: 通常在基类和派生类之间转换时使用 const_cast: 主要针对const和volatile的转换 static_cast: 一般的转换(no run-time check)通常,如果你不知道该用哪个,就用这个。 reinterpret_cast: 用于进行没有任何关联之间的转换,比如一个字符指针转换为一个整形数。 1)static_cast(

2018-01-19 21:03:23 305

原创 C++ for_each构造函数和析构函数的调用,仿函数,lambda

//for_each()调用三次析构函数  仿函数(functor),就是使一个类的使用看上去象一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。   有些功能的的代码,会在不同的成员函数中用到,想复用这些代码。     1)公共的函数,可以,这是一个解决方法,不过函数用到的一些变量,就可能成为公共的全局变量,再说为了复用这么一片代码,就

2018-01-06 13:28:43 829

翻译 贝叶斯

基础理论当我们无法基于规则进行判断时, 我们使用概率。Probability vs. Statistics在某种程度上,概率论和统计学的目的是完全相反(inverse)的:In probability theory we consider some underlying process which has some randomness or uncertainty modeled by rando

2017-12-12 19:57:41 653

原创 Search in Rotated Sorted Array

Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2 ). You are given a target value to search. If found in the array return its

2017-11-29 09:57:12 132

原创 Container With Most Water

问题: Given n non-negative integers a1,a2...ana_1,a_2...a_n where each represents a point at coordinate a1,a2...ana_1,a_2...a_n vertical lines are drawn such that the two endpoints of line i is at (i,ai

2017-11-26 17:50:57 148

转载 返回局部指针变量

返回值为数值时,返回局部变量可以,而返回值为引用或指针时,则存在风险。局部变量是存在于栈中的,函数被调用时先在栈中为变量申请空间,调用完成释放变量空间。函数在返回参数的时候是这样的,先把要返回的数放在寄存器eax中,然后回到主函数中取出eax中的数值放在变量里,所以这样是不涉及函数中变量地址的。如果要返回引用,也就是变量地址,那么它会把这个变量的地址放在eax中,(注意这个地址是位

2017-11-24 21:07:33 1283

翻译 PCA原理

PCA(Principal Component Analysis),即主成分分析,通常用于数据的降维处理。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。 先从向量的内积(即点积)开始。首先,要解释的是,二维向量和这个二维向量在二维空间中对应的矩阵(线性变换)之间的关系。1x2矩阵与二维向量之间的联系:二维空间中的二维向量所对应的1

2017-11-21 19:05:43 423

原创 leetcode search for a range

Given a sorted array of integers, find the starting and ending position of a given target value. Your algorithm’s runtime complexity must be in the order of O(log n). If the target is not found in th

2017-11-18 12:57:33 192

原创 C++ map lower_bound() upper_bound()

1.lower_bound() 算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置。 ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)2.upper_bound() 算法返回一个非递减序列[first, last)中第一个大于val的位置。 Forward

2017-11-18 11:13:39 5511

原创 vector 数组 二维数组

C++中可以通过容器来建数组,二维数组#include "stdafx.h"#include <iostream>#include <vector>using namespace std;int main(){ vector<int> col; vector<vector<int>>array; for (int i = 0; i<3; i++) {

2017-10-31 20:52:22 402

原创 C++ 成员函数与成员变量的关系

在C++中,#include <iostream>using namespace std;struct Data{ int x = 10; int y() { return 20; } };int main(){ Data* p=NULL; // 不用 new 创建指针 cout<<p->x<<endl; //抛出异常 cout<<p->y(

2017-10-31 13:35:35 4495

原创 C++ vector resize和reserve

首先必须弄清楚两个概念: 1.capacity 指容器在分配新的存储空间之前能存储的元素总数,也可以说是预分配存储空间的大小。 2. size 指当前容器所存储的元素个数resize:(resize既分配了空间,也创建了对象)1、resize(n) 调整容器的长度大小,使其能容纳n个元素。 如果n小于容器的当前的size,则删除多出来的元素。否则,添加采用值初始化的元素。

2017-10-30 19:39:11 1109

原创 背包算法

DP算法:#include "stdio.h"int max(int a,int b){ return a>b?a:b;}int main(){ int need[]={0,2,3,4,1}; int value[]={0,2,5,3,2}; int m=5;//最大的背包容量 int best[6]={0}; for(int i =1;i<5;

2017-10-23 21:48:33 343

原创 Y must be a vector or a character array

在matlab调用svm的时候,出现 Y must be a vector or a character array的错误。 解决办法: 1.点击Matlab左上角的file,选择set path 2.在弹出的选项框中,选择第二个选项And with Subfolders 3.找到自己的libsvm文件夹,点确定 4.点击save,关闭set path

2017-10-21 15:53:12 888

C++并行程序设计

C++并行程序设计 仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!

2018-09-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除