原创 C++智能指針實現(shared_ptr, non-intrusive reference count)

題計 根據上編智能指針好文中counted_ptr.h,實現智指針。 智能指針實現的方式 (下面代碼按照該方式實現) 代碼 #include <iostream> class Data { public: Data

原创 Smart Pointer好文轉載

轉載: 智能指針原理及應用詳細介紹

原创 從c++ istringstream讀取字符(一)

c++ istringstream讀取字段之operator>> istringstream的繼承關係如下: operator>>操作符繼承istream,爲extraction operator(導出符),它被重載爲以下3類成

原创 從c++ istringstream讀取字符(二)

get、getline、read get single character int get(); istream& get (char& c); 功能:從流中提取單個字符。返回該字符(第一個方法),或將其設置爲參數的值(第二

原创 Linux磁盤佔滿問題分析步驟

本文主要介紹當Linux出現磁盤佔滿時,如何分析是哪些文件引起; 1. 查看磁盤佔用情況 命令: df -h 運行結果: root@host:~$ df -h Filesystem

原创 activity中onSaveInstanceState()和onRestoreInstanceState()

activity中onSaveInstanceState()和onRestoreInstanceState()調用情況: onSaveInstanceState()在如下情況下會被調用: (1)、當用戶按下HOME鍵時。  

原创 Caused by: android.view.InflateException:Binary XML file line #:Error inflating class 問題

問題 這兩天做功能需要修改一個佈局文件,遇到了inflating class問題。 分析 查看錯誤信息: Binary XML file line:XML文件問題。 inflating class顧名思義是不能“初始化”類

原创 子類初始化列表不能初始化父類元素 -- class 'Derived' does not have any field named 'x'

緣由 偶爾編寫如下代碼,編譯出錯, class Base{ public: int x; }; class Derived : public Base { public: Derived() : x(10) {

原创 深入理解訪問修飾符(private、protected、public)

緣由 下面一段小程序的報錯: #include <iostream> using namespace std; class Base { public: explicit Base(int x):x(x){};

原创 Linux內存--虛擬內存,buffer/cache

Linux內存相關 上圖是32位的操作系統的地址空間情況。 申請虛擬內存 首先獲取尋址大小:查看cat /proc/cpuinfo yms@ubuntu:~$ cat /proc/cpuinfo processor

原创 shell 數組(含"map")操作總結

shell 數組操作總結 字符 含義 舉例 # 個數相關 $#:shell的參數個數 KaTeX parse error: Expected '}', got '#' at position 2: {#̲array[

原创 shell浮點運算

shell浮點運算 bash內置了對整數四則運算的支持,但不支持浮點運算。 有兩種方法: 藉助bc(需系統安裝)yms@ubuntu:~/sunrise/shell$ echo $((5-4)) 1 yms@ubuntu:~/s

原创 gtest初識

gtest初識總結 本文以結合gtest github內容進行學習gtest。 gtest github地址 gtest編譯 g++ xx.cpp xx.h -lgtest -lpthread -o main gtest編寫 創建

原创 C++安全編碼:函數

函數 數組作爲函數參數時,必須同時將其長度作爲函數的參數 由於C語言風格的數組,默認沒有結束符,當讀取數組時需要自己根據數組長度進行判斷。(這個也是C/C++)比其他語言運行效率高的一點原因。 嚴禁對公共接口API函數的參數進行ASS

原创 C++安全編碼:斷言

斷言 簡介 在程序設計中,斷言(assertion)是一種放在程序中的一階邏輯(如一個結果爲真或是假的邏輯判斷式),目的是爲了標示與驗證程序開發者預期的結果-當程序運行到斷言的位置時,對應的斷言應該爲真。若斷言不爲真時,程序會中止運行