原创 effective c++:讓接口容易被正確使用,不易被誤用

讓接口容易被正確使用,不易被誤用 1)許多客戶端錯誤可以因爲導入新類型而獲得預防。一旦正確的類型定位,限制其值有時候是通情達理的。 考慮下面的例子表現日期: class Date{ public:   Date(int month,in

原创 effective c++ item04:確定對象被使用之前以先被初始化

Item04 確定對象被使用之前已被初始化 class PhoneNumber{...}; class ABEntry{ public:   ABEntry(const std::string& name,const std::strin

原创 effective c++:資源管理相關

以對象管理資源 許多資源被動態分配與heap內而後被用於單一區塊或函數內。他們應該在控制流離開那個區開或函數時被釋放。 class Investment{...}; //投資類型繼承體系中的root class Investm

原创 c++ stl容器相關操作

#include<array> #include<deque> #include<vector> #include<list> #include<forward_list> #include<set> #include<map> #inc

原创 effective c++:寫出一個不拋出異常的swap函數

考慮寫出一個不拋出異常的swap函數 假設Widget和WidgetImpl都是class: class WidgetImpl{ //針對Widget數據而設計的class public:   ... private:   int

原创 不相交集 C實現

不相交集基本歷程 頭文件 #ifndef _disjSet_H #define _disjSet_H typedef int* disjSet; void initial(disjSet S,int size); void setUn

原创 leetcode 5. Longest Palindromic Substring(迴文和Manacher算法)

關於迴文問題的解法 題目地址在這裏 #include<string> #include<algorithm> #include<new> #include<iostream> using namespace std; string a

原创 effective c++ item2總結:以編譯器替換預處理器

item 2: 以編譯器替換預處理器(以const,enum,inline替換#define): #define不被視爲語言的一部分,那正是他的問題所在。 sam1: #define ASPECT_RATIO 1.534替換爲: cons

原创 典型的C++程序員成長經歷

1.  完整的學一遍 C++ 所有語言特性,典型書籍 "The C++ Programming Language" Part1, Part2, "C++ Primer"    感覺 C++ 像大雜燴(多編程範型),各種精妙的語法特性 (

原创 c++ 關於decltype和auto的一點小總結

最近再看C++primer 5th,正好總結一下decltype和auto的用法,方便複習 auto定義的變量必須有初始值 使用auto可以在一條語句聲明多個變量,但一條聲明語句只能有一個基本數據類型 auto i=0,*p=&i; au

原创 關於const的一點個人總結 C++

我想簡單總結一個const 的用法,方便我自己複習 只能在const類型的對象上執行不改變其內容的操作,const int和普通int一樣都能參與算術運算,也能轉化爲一個布爾值。 int i=42; const int ci=i; i

原创 c++ stl算法

這裏是一些stl常用算法,搭配迭代器、function object、lambda有強大的功能 #include<array> #include<vector> #include<deque> #include<list> #includ

原创 stack in c++

stack在c++stl中作爲特殊容器存在,其實現多爲單純地把各項操作轉化爲內部容器的對應調用 下面是其簡單實現 頭文件#ifndef _STACK_H #define _STACK_H #include<deque> #include

原创 c++ 一個元素是string的vector容器

寫了一個元素是string的vector容器,用到了不少知識點 頭文件 #ifndef _StrVec_H #define _StrVec_H #include<memory> #include<string> #include<uti

原创 PCA相關

參考博客 matlab自帶的實現方式 [COEFF,SCORE,latent,tsquare] = princomp(X) 在n行p列的數據集X上做主成分分析。X的每行表示一個樣本的觀測值,每一列表示特徵變量。COEFF是一個p行p列的矩