原创 [008]C/C++系列 | 轉換函數(二)conversion function VS non-explicit-one-argument ctor

備註: one-argument:Fraction(int num, int den=1)一個參數  class Fraction { public: Fraction(int num, int den=1)

原创 [008]C/C++系列 | 轉換函數(一)conversion function

class Fraction { public: Fraction(int num, int den=1) : m_numerator(num), m_denominator(den) {} operat

原创 [008]C/C++系列 | 繼承&虛函數

一、定義 non-virtual函數:你不希望derived class重新定義(override,覆蓋)它 virtual函數:你希望derived class重新定義(override,覆蓋)它,且已有默認定義 pure virtua

原创 [008]C/C++系列 | Class之間關係(一)-Composition(複合)

 一、簡述 某某 class聲明裏面存在某class;例如下面:queue裏面含deque Adapter :例如:deque裏面含有很多個函數,但是通過queue只開放六個函數被調用!!! template <class T, c

原创 [008]C/C++系列 | namespace幾種用法

一、using directive #include <iostream.h> using namespace std; int main() { cin>>...; cout<<...; return 0;

原创 [008]C/C++系列 | Class之間關係(二)-Delegation(委託)

// file String.hpp class StringRep; class String { public: String(); String(const char* s); String(const S

原创 [008]C/C++ | cout 源碼

一、源碼 class _IO_ostream_withassign : public ostream { ... }; extern __IO_ostream_withassign cout; cout主要是繼承os

原创 [008]C/C++系列 | Class之間關係(三)-Inheritance(繼承)

一、底層構造 struct _List_node_base { _List_node_base* _M_next; _List_node_base* _M_prev; }; template<typename _Tp>

原创 [008]C/C++系列 | Static

class complex { public: double real() const { return this->re; } private: double re, im; }; 一、no

原创 [008]C/C++系列 | new & delete 內部實現

一、背景 Complex* pc = new Complex(1, 2); String* ps = new String("hello"); ... delete ps; 上面是一個普遍的new 和 delete 語句,到底new是

原创 [008]C/C++系列 | String三個特殊函數(三)拷貝賦值

備註: 直接使用編譯器提供的String會存在這種情況(淺拷貝): 這種情況是我們需要避免的!!!  class String { public: String(const char* cstr = 0); Str

原创 [008]C/C++系列 | Array New & Array Delete

一、背景 Array New 一定要搭配 Array Delete!!!   二、原因  String* pc = new String[3]; // 調用三次構造 ... delete[] pc; // 調用三次析構 Str

原创 [008]C/C++系列 | String總結

一、背景 在此之前請先閱讀: 《[008]C/C++系列 | String三個特殊函數(一)析構函數》 《[008]C/C++系列 | String三個特殊函數(二)拷貝構造》 《[008]C/C++系列 | String三個特殊函數(

原创 [007]爬蟲系列 | 代理IP池 & UA池 構造

目錄 一、背景 代理IP池 二、UA代理池 2.1資源準備 2.2頭部生成 2.3請求 三、代理IP池 2.1抓取代理IP 2.2測試代理IP可用性 2.3存儲數據  四、代理IP池使用 完!!! 一、背景 在爬蟲的時候,可能IP會被封掉

原创 [017]Ngnix系列 | Centos7裏面Ngnix配置文件高亮顯示

正常的Ngnix配置文件顯示是這樣子的: 怎樣子纔可以讓其高亮顯示呢? 教程: [root@tw nginx-1.18.0]# mkdir ~/.vim [root@tw nginx-1.18.0]# cp -r contrib/vi