在介绍C++浅拷贝与深拷贝之前,我们先引出C++的拷贝构造函数。 C++拷贝构造函数是一种特殊的构造函数,其形参是本类对象的引用。用于在建立一个新的对象时,使用一个已经存在的对象来初始化这个新对象。因为拷贝构造函数时特殊的构造函数,所以其没有返回值类型,且名称与类名相同;该函数只有一个参数,即此类对 Read More
posted @ 2019-07-04 22:42 木小猪 Views(1539) Comments(0) Diggs(0) Edit
要想使用标准C++中string类,必须要包含 #include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件 using std::string; using std::wstring; 或 using namespace std; 下面你就可 Read More
posted @ 2017-10-22 21:17 木小猪 Views(146) Comments(0) Diggs(0) Edit
FILE *fopen(char * filename,char * mode) filename对应的实参是一个字符串,表示需要打开的文件的文件名(可以包括文件的路径),该实参可以是一个字符串常量,也可以是一个字符指针; mode对应的实参也是一个字符串,对应了文件的操作模式: “r”:以只读方式 Read More
posted @ 2017-10-15 21:59 木小猪 Views(394) Comments(0) Diggs(0) Edit
#include <iostream>#include<cstdio>using namespace std;int main(){ freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); int a,b; while(ci Read More
posted @ 2017-10-15 10:55 木小猪 Views(936) Comments(0) Diggs(0) Edit
简介: String和StringBuffer都可以存储和操作字符串,即包含多个字符的字符串数据。他们的区别就是String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。简要的说, String 类型和 StringBuffer 类型的主要性能 Read More
posted @ 2017-10-11 23:05 木小猪 Views(298) Comments(1) Diggs(0) Edit
cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2); setiosflags 是包含在命名空间iomanip 中的C++ 操作符,该操作符的作用是执行由有参数指定 区域内的动作; iso::fixed 是操作 Read More
posted @ 2017-10-10 20:18 木小猪 Views(4303) Comments(0) Diggs(1) Edit
在对数组进行合并排序时,往往会用到递归。而一遇上递归,就很容易被迷住。毕竟,递归的过程细节是很烧脑的。这时,如果再来几个子函数,就更嗨了。下面就说一说我自己遇见的这个递归: template<class T> void MergeSort(T a[],int left,int right){ int Read More
posted @ 2017-10-08 16:18 木小猪 Views(437) Comments(0) Diggs(0) Edit
memset函数的原型为:void * memset(void *ptr,int value,size_t num);用于为地址ptr开始的num个字节赋值value。 memset函数的头文件为:C:<memory.h>或<string.h> C++:<cstring>。 在用memset为申请的 Read More
posted @ 2017-10-07 20:23 木小猪 Views(2188) Comments(0) Diggs(0) Edit
给定一个数组a[n],求数组a[n]的和sum。一般的方法是遍历数组然后求和,这样的时间复杂度为O(n)。而当修改了数组中的元素,再次求数组的和时,又要付出O(n)的时间代价。此时,我们可以用树状数组来求和数组的和。得到树状数组C[n]后,时间复杂度将由O(n)变为O(lgn)。这是如何实现的呢?下 Read More
posted @ 2017-10-07 17:54 木小猪 Views(279) Comments(2) Diggs(0) Edit
通过while(Scanf()!=EOF)可实现在未知循环输入次数的情况下通过scanf()函数返回值或Ctrl+Z结束循环。 在C语言中,scanf()函数是有返回值的,其返回值与参数个数有关。假设scanf()函数有n个参数,返回值为其正确输入的参数个数:即若n个参数全部正常输入,则返回值为n。 Read More
posted @ 2017-09-21 00:24 木小猪 Views(1166) Comments(0) Diggs(0) Edit