<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小浣熊的博客]]></title><description><![CDATA[个人无聊写写学习笔记而已，如有错误欢迎指正]]></description><link>https://blog.youkuaiyun.com/weixin_43819313</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_43819313]]></copyright><item><title><![CDATA[Ubuntu使用armadillo编译时找不到hdf5]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/125861906</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/125861906</guid><author>weixin_43819313</author><pubDate>Mon, 18 Jul 2022 23:00:56 +0800</pubDate><description><![CDATA[1.进入hdf5最后安装后的目录，比如我的hdf5目录在/usr/local/hdf5，将lib目录中的libhdf5.so、libhdf5.so.10、libhdf5.so.10.x.0这几个文件复制到libarmadillo.so所在的目录。linux环境下安装opencv(c++)编译undefinedreference错误的解决办法-走看看。反映是找不到libhdf5.so.103库，根据下面这个博客，我们应该要安装hdf5这个库。改名后，程序顺利运行。...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】在C++中读入字符串的几种操作（拯救你的字符串！）]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/86500697</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/86500697</guid><author>weixin_43819313</author><pubDate>Tue, 15 Jan 2019 23:04:56 +0800</pubDate><description><![CDATA[在C++中如何高效灵活的读入字符串一直是一个困扰许多初学者的问题，现在我就来尝试整理一些C++中读入字符串的方法。
为了方便速查，我将几种常见的情况做归类：
不能读取空格，也不能读取回车
1.一般的cin读入方法：
即：
string s;
cin&amp;gt;&amp;gt;s;

优点：几乎所有人都知道这么用（博主在整理之前似乎也最熟练用这种）
缺点：不能读取空格和回车，非常不方便。
能读取空格，但不读取回...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】异常处理]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/86371610</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/86371610</guid><author>weixin_43819313</author><pubDate>Sat, 12 Jan 2019 20:22:19 +0800</pubDate><description><![CDATA[在学python的时候，我们知道python中可以利用try。。。。except语句来检查代码中的错误，那么在C++中，有没有类似的体系去帮助程序员发现程序中的异常情况呢，答案是肯定的，现在，我们来介绍一下C++中的异常处理机制。
组成
C++中异常处理机制包括三部分——检查（try）、抛出（throw）和捕捉（catch）。其工作形式是：把需要检查的语句放在try语句块中，如果在语句块中发现错误...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】常对象成员]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/86321534</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/86321534</guid><author>weixin_43819313</author><pubDate>Fri, 11 Jan 2019 22:20:28 +0800</pubDate><description><![CDATA[导语
之前我们提到了const修饰符，说到const修饰符可以代替define，实现对常量的更安全的定义，这次我们来讲讲如果在类里面定义常对象或者常成员会出现什么。
常数据对象
**形式：**与一般数据成员定义类似，只用在前面加const关键字就好了，例如：const int x=2;
注意点：
1.在定义时一定要对x先说明初值
2.如果在类中说明了常数据成员，那么构造函数只能通过初始化列表对该数...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】友元]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/86250637</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/86250637</guid><author>weixin_43819313</author><pubDate>Thu, 10 Jan 2019 20:12:09 +0800</pubDate><description><![CDATA[我们知道，在一个类中可以有公用的（public）成员和私有的（private成员）。在类外可以直接访问共有成员，对于私有成员，也可以通过调用公有成员函数的情况下进行访问，但只有类中的函数可以访问本类的私有成员，那有没有例外呢？C++中确实有这个例外，这个例外就是友元。
概念
友元可以访问与其有好友关系类中的私有成员。友元包括友元函数和友元类。友元机制是对封装机制的补充，利用此机制，一个类可以赋予某...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】类中的静态成员及其深度解析]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/86154350</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/86154350</guid><author>weixin_43819313</author><pubDate>Wed, 09 Jan 2019 16:40:10 +0800</pubDate><description><![CDATA[为什么要设置静态成员？
有时候一个类的不同对象对于个别数据需要共享，也就是不同对象大家需要一起改变某一个成员，这时，就要求这个被改变的数据成员是固定的（即该类的所有对象用的是同一个拷贝），并且是每一个对象所共有的，这时就用到了静态成员。
静态数据成员
静态数据成员的声明：
静态成员的声明和静态变量的声明一样，用关键字static即可声明。
但是静态数据成员必须在类外进行定义和初始化，用：：来指明所...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】this指针]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/86105473</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/86105473</guid><author>weixin_43819313</author><pubDate>Wed, 09 Jan 2019 14:07:33 +0800</pubDate><description><![CDATA[this指针是什么
每一个类的成员函数都有一个隐藏定义的常量指针，我们把它称为this指针。
this指针的类型就是成员函数所属的类的类型。
每当调用成员函数时，它被初始化为被掉函数所在类的对象的地址。也就是自动地将对象的指针传给它。不同对象调用同一个成员函数时，编译器将根据成员函数的this指针所指的对象来确定应该引用哪个对象的数据成员。
这段定义的意思是在成员函数内都隐含这一个指向自己类的对象...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】const修饰符]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/86104143</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/86104143</guid><author>weixin_43819313</author><pubDate>Tue, 08 Jan 2019 22:50:58 +0800</pubDate><description><![CDATA[概念
const修饰符是C++用于替代define的一个关键字，即用于定义一个常量。
一般格式
const 数据类型标识符 常数名 = 常量值；
或
数据类型标识符 const 常数名 = 常量值;
例：
const int HUMAN = 1；

采用这种方式定义的常量是类型化的，它有地址，可以用指针指向这个值，但是不能修改它。
说明：
1、const必须放在被修饰类型符和类型名前面
2、常量一...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】趣谈引用]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/86022646</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/86022646</guid><author>weixin_43819313</author><pubDate>Mon, 07 Jan 2019 20:30:01 +0800</pubDate><description><![CDATA[概念：
在将引用的概念前，我们要不high一点，先听听歌放松一下（嘿嘿嘿）：
https://music.163.com/#/song?id=476114873
听完《达拉崩吧》是不是觉得瞬间有精神了。
好了我们回想一下这首歌的歌词，这首歌造成的一个困境是这个世界里所有成员的名字都很长，骑士光骑士就叫“达拉崩吧斑得贝迪卜多比鲁翁”，高达13个字的名字。
这么长的名字带来了什么问题？
如果你把骑士的...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】析构函数]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/86018401</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/86018401</guid><author>weixin_43819313</author><pubDate>Mon, 07 Jan 2019 19:26:05 +0800</pubDate><description><![CDATA[概念
析构函数是一种特殊的成员函数，它执行与构造函数相反的操作，通常用于撤销对象时的一些清理任务，最常见的使用情景有函数调用结束后形参的收回、delete删除等。
特点

析构函数与构造函数名字相同，但它前面必须加一个波浪号。
析构函数不能有参数，不能重载，一个类中只能有一个析构函数。（考试常考：一个类可以有多个构造函数但只有一个析构函数。）
析构函数每个类必须会有，如果没有定义析构函数，系统会调...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】拷贝构造函数以及深拷贝和浅拷贝]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/86002280</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/86002280</guid><author>weixin_43819313</author><pubDate>Mon, 07 Jan 2019 16:44:48 +0800</pubDate><description><![CDATA[概念
拷贝构造函数是一种特殊的构造函数，其形参是本类对象的引用。其作用是使用一个已经存在的对象去初始化另一个同类的对象。
说明
1.在定义时通过等于号复制对象时，系统会自动调用拷贝构造函数。（注意，不是在任何时候等于号赋值都可以调用拷贝构造函数）
2.拷贝构造函数与原来构造函数实现了函数的重载。
（拷贝构造函数是构造函数的一个重载）
使用情景


一个对象作为函数参数，以值传递的方式传入函数体；
...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】类（二）内联函数与外联函数]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/85948393</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/85948393</guid><author>weixin_43819313</author><pubDate>Sun, 06 Jan 2019 20:38:46 +0800</pubDate><description><![CDATA[定义
内联函数：定义在类体内的函数
外联函数：定义在类体外的函数。
在类中，内联函数和外联函数执行代码的效率是一样的，但是内联函数要优于宏定义，因为编译器一般认为内联函数会更接近一般函数，会与一般函数一样进行调用。
内联函数的定义

隐式声明 直接将函数定义在类内

    class Human{ 
    	public: 	
    	 	string getName(){return na...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】类（一）]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/85947365</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/85947365</guid><author>weixin_43819313</author><pubDate>Sun, 06 Jan 2019 20:23:39 +0800</pubDate><description><![CDATA[这一次更新是出于复习目的的更新，算是回顾一下类的知识点吧
类是什么
如果把编程看作是另一个世界的话，那么程序员就像是这个世界里的上帝，或者说的本土化一点，我们就是这个自己定义出的世界里的“女娲”。我们用泥巴捏出一个个生物（定义类、构造类的实例），并时不时补补天（改bug），在C++的世界里，类就是我们要捏的那个“小泥人”。
假如我们是女娲，我们在捏一个生物的过程中总是要思考以下问题：
我的人长什么...]]></description><category></category></item><item><title><![CDATA[【算法】求质数常见的三种方法]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/85250276</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/85250276</guid><author>weixin_43819313</author><pubDate>Tue, 25 Dec 2018 17:11:45 +0800</pubDate><description><![CDATA[最近新开了一个栏目，打算记一些常见问题的算法，以后说不定有用到可以套用一些。
质数的定义

质数（prime number）又称素数，有无限个。质数定义为在大于1的自然数中，除了1和它本身以外不再有其他因数。

这次我们的例题是：

求n以内的质数。（其中 n是传入的参数）。

这里我们介绍三种常见方法：
1.完全遍历法：
这种算法比较基本，对于每个数n，将n依次从2除到n，然后对余数进行比较，如...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】模板（二）——类模板]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/85222787</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/85222787</guid><author>weixin_43819313</author><pubDate>Sun, 23 Dec 2018 16:45:57 +0800</pubDate><description><![CDATA[这次我们来介绍一下类模板：
类模板的定义形式
template&amp;lt;class Type&amp;gt;
class ClassName
{
//具体内容
};

或：
template &amp;lt;typname Type&amp;gt;
class ClassName
{
//具体内容
};

类模板成员函数的类外定义形式
template&amp;lt;模板参数表&amp;gt;
&amp;lt;函数类型&amp;gt;&amp;lt;类模板名&amp;g...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】模板（一）]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/85107036</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/85107036</guid><author>weixin_43819313</author><pubDate>Sun, 23 Dec 2018 14:30:03 +0800</pubDate><description><![CDATA[模板的概念

模板是实现代码复用的一种手段，是C++重要的特征之一此前在定义函数与类时，必须明确指明其中用到的变量的数据类型。如果需要对不同类型的数据进行相同的处理，就需要重新定义函数或者类。

我们知道函数是一种代码复用的方式，通过定义不同的函数实现不同的操作，但是函数有一个问题，就是每次定义函数要指定数据类型，这在普通的函数中当然没关系，但是，如果我需要对不同的数据进行相同的操作时，在没有模板...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】运算符重载（二）]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/85058584</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/85058584</guid><author>weixin_43819313</author><pubDate>Tue, 18 Dec 2018 22:29:43 +0800</pubDate><description><![CDATA[我们回顾一下运算符重载的特点：

运算符重载函数名必须为：operator&amp;amp;lt;运算符&amp;amp;gt;。
运算符的重载是通过运算符重载函数来实现的。对于二元运算符重载函数，函数的参数通常为一个即右操作数，运算符的左操作数为调用重载函数时的对象。对于一元运算符重载函数，运算符的左操作数或右操作数为调用函数的对象。
运算符重载函数的返回类型：若对象进行运算后的结果类型仍为元类型，则运算符重载函数的返回类型为...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】运算符重载（一）]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/85039732</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/85039732</guid><author>weixin_43819313</author><pubDate>Sun, 16 Dec 2018 19:36:08 +0800</pubDate><description><![CDATA[在C++中我们定义了自己专属的类，但是随着类的增加，以及里面成员复杂度的提高，以前我们常用的运算符就不能很好的处理新出现的数据类型了，这时，就有一个很“异想天开”的想法了——我们自己定义运算符！
运算符的重载
运算符重载是使同一个运算符作用于不同类型的数据时具有不同的行为。例如我们声明一个点类point和它的对象point p1(1,1),p2(3,3)，并希望能使用“+”运算符来实现表达式“p1...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】虚函数（二）]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/84963486</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/84963486</guid><author>weixin_43819313</author><pubDate>Wed, 12 Dec 2018 09:31:04 +0800</pubDate><description><![CDATA[虚函数与重载函数的关系
我们现在来比较一下规则比较多的虚函数和规则比较少的重载函数之间的差别：


普通函数重载时，其函数的参数个数或者参数类型必须有所不同，函数的返回类型也可以不同。（这个不同是比较严格的不同，是涉及本质的）


重载函数： 要求函数名、返回类型、参数个数、参数的类型和顺序与基类中的虚函数完全相同。如果发生不同则分以下两种情况：
1.返回值类型不同，其他相同--------&amp;amp;amp;gt...]]></description><category></category></item><item><title><![CDATA[【C++学习笔记】虚函数（一）]]></title><link>https://blog.youkuaiyun.com/weixin_43819313/article/details/84779855</link><guid>https://blog.youkuaiyun.com/weixin_43819313/article/details/84779855</guid><author>weixin_43819313</author><pubDate>Tue, 11 Dec 2018 23:03:21 +0800</pubDate><description><![CDATA[12.3 昨天居然断更了，唉，写博客真是很需要毅力呀，更新上今天的学习笔记。
上次我们讲到多态性的定义以及简述了实现方式以及静态编译和动态编译的概念。这次，我们来具体讲一讲虚函数。
什么是虚函数

在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数，
用法格式为：virtual 函数返回类型 函数名（参数表） {函数体}；实现多态性，通过指向派生类的基类指针或引用，访问派...]]></description><category></category></item></channel></rss>