原创 C++設計模式——SingleTon單件模式

SingleTon概述 SingleTon單件模式(單例模式),涉及到一個特殊的類,這個類只能有一個instance。 因此類設計者設計的SingleTon模式的類必須阻止使用者生成該類的任何一個instance,且必須向使用者提供一個公共

原创 C和C++區別——前置自增與後置自增

一、先看下面兩段完全一樣的代碼塊 /* test.cpp */ int main() { int a = 5; ++a = 7; printf("%d\n", a); return 0; } /* te

原创 進程——父子進程共享

一、fork()   1. 在談fork之前,先簡單說一下進程的相關知識點。   (1)進程不同於程序是動態運行在內存中的實體,佔用系統資源(CPU、內存等),而程序則是存放在磁盤中的靜態的資源,佔用磁盤空間而不佔用系統資源。進程在內存中運

原创 一個例子理解c++函數模板的編譯

一、例子 template <typename T> inline void callWithMax(const T& a, const T& b){ f(a > b ? a : b); } int main(){ ret

原创 C/C++多參數函數參數的計算順序與壓棧順序

一、前言   今天在看Thinking in C++這本書時,書中的一個例子引起了我的注意,具體是使用了下面這句    單看這條語句的語義會發現僅僅是使用一個簡單的string的substr函數將所得子串push_back到strings。

原创 經常登錄Linux,用戶密碼背後的知識瞭解一下

一,用戶密碼存放在哪裏?   說到這個問題,絕大部分的同學肯定都知道/etc/passwd這個文件,不錯,這個文件裏存儲的就是用戶名,密碼等信息。     每一行都是一個account,每一行有7個信息,分別用 : 隔開,從左往右依次是:

原创 一道值得思考的fork()面試題

程序如下,判斷輸出多少個'_' ./a.out int main(){ for(int i = 0; i < 2; ++i){ fork(); printf("_"); }

原创 vim實用快捷鍵整理

整理一些vim下常用的快捷鍵,都是我在實踐中用的很順手(但初學vim時沒有了解過)的快捷鍵 1.刪除整個文件內容: dG 2.在vim中打開某個函數的幫助文檔:1.光標放在某個函數上按K    2.  :!man 2 read (以read

原创 Linux硬鏈接與軟連接

Linux文件包含兩部分數據,用戶數據和元數據,期中用戶數據存放的就是文件的存儲內容,元數據存儲的即是文件的屬性,所有者,權限,創建時間,還有一個最重要的就是inode號. 在Linux系統中,真正區分一個文件的是這個文件的inode號而非

原创 codeblocks升級c++17版本

一,進入MINGW官網下載最新MINGW   (本人寫這篇博客時更新到了MINGW 17.1,),選擇MINGW 17.1.exe下載即可. 這個下載過程可能比較緩慢,對於網不好的時候可能要很久,所以我將它放在了網盤裏,需要的自己取.   

原创 【轉】Linux用Nasm巧彙編

看到一篇總結nasm的使用,解決了我的一點問題,下面是原文鏈接 原文鏈接:https://blog.csdn.net/zdwzzu2006/article/details/3990502

原创 C/C++查漏補缺(常更)

一、#define宏定義   如下程序段,則輸出結果爲:   #define MAX 12   int main(){     cout << "20\0MAX019" << endl;   }   輸出結果:20 , 知識點:#def

原创 deepin揚聲器/耳機沒有聲音解決方案

昨天準備在deepin系統下看視頻學習一下Linux,結果登入deepin系統後發現不論是外放還是插耳機竟然都沒有聲音,這種情況以前也出現過,只不過沒有在意,後來就自己又好了,今天這次可真是讓我決定要找到原因所在了 在網上搜了半天后,嘗試了

原创 編譯器對內存的分配

在正式開始今天的博文之前,先看一段代碼,思考這段代碼有可能出現的情況: int main() { int j, b[10]; for(j = 1; j <= 10; ++j){

原创 Linux系統終端常用配置文件更改

1.alias別名永久保存   非管理員用戶:     huashuo@huashuo-PC:~$ vim ~/.bashrc   裏面有內置的一些別名,有些被註釋掉了去掉註釋就可以,也可以自行添加別名