原创 粘滯位(粘着位)的作用

文件的粘滯位(sticky)位是作什麼用的?  普通文件的sticky位會被linux內核忽略,  目錄的sticky位表示這個目錄裏的文件只能被owner和root刪除  粘着位(Sticky bit)  如果用戶對目錄有寫權限

原创 寫時拷貝方案分析 copy on write

copy on write 寫時拷貝是淺拷貝解決淺拷貝析構衝突的一種解決方案 相比較於深拷貝,寫時淺拷貝佔用空間少(相同內容不新開闢空間),複製效率高 幾種寫時拷貝方案比較 int _refCount (錯誤) class Strin

原创 c++ 雙向鏈表

dList.h #pragma once #include <iostream> #include <assert.h> using namespace std; typedef int DataType; struct ListN

原创 簡易多線程服務器

概述 用雙向鏈表保存客戶信息 每有用戶接入創建線程,讀取該用戶消息,發回給所有用戶。 用戶退出,摘除節點,線程退出 代碼 //server #include <stdio.h> #include <stdlib.h> #include

原创 c++ 單鏈表

sList.h #pragma once #include <iostream> #include <assert.h> using namespace std; typedef int DataType; struct SList

原创 字符串全排列

問題 給一個字符串,輸出所有的排列方式。 問題思路 當只有一個字符或沒有字符時,直接輸出,返回1。 處理兩個字符的情況:交換——輸出——交換——輸出。 處理完後保證順序不變。 處理兩個以上字符的情況:轉化,第 num 個字符有 num

原创 class string

字符串類的增刪查改 class String { public: String(const char* str = ""); ~String(); String(const String& s); //c

原创 拷貝構造的優化問題

# 對象在生命週期結束時系統自動調用對應的析構函數,則析構函數調用次數等於構造和拷貝構造函數調用次數之和。 對象作返回值返回時調用拷貝構造函數,如果拷貝構造作返回接拷貝構造傳參或接拷貝構造構造對象時,將被優化。 上一句總結爲:不間斷的拷

原创 單鏈表習題(進階一)

題目 判斷單鏈表是否帶環?若帶環,求環的長度?求環的入口點?並計算每個算法的時間複雜度&空間複雜度。 判斷兩個鏈表是否相交,若相交,求交點。(假設鏈表不帶環) 判斷兩個鏈表是否相交,若相交,求交點。(假設鏈表可能帶環)【升級版】

原创 單鏈表習題(進階二)——複雜鏈表複製

題目 複雜鏈表的複製。一個鏈表的每個節點,有一個指向next指針指向下一個節點,還有一個random指針指向這個鏈表中的一個隨機節點或者NULL,現在要求實現複製這個鏈表,返回複製後的新鏈表。 解法一 (暴力求解) 1. 這個複雜鏈表

原创 單鏈表習題(初級)

題目總覽 從尾到頭打印單鏈表 刪除一個無頭單鏈表的非尾節點 在無頭單鏈表的一個節點前插入一個節點 單鏈表實現約瑟夫環 逆置/反轉單鏈表 單鏈表排序(冒泡排序&快速排序) 合併兩個有序鏈表,合併後依然有序 查找單鏈表的中間節

原创 class Date 日期類

class Date 日期類是一個經典面試題 完成比較運算符重載 完成自增、自減運算符重載(前置、後置) 完成加減、加等減等 int 變量運算符重載 完成日期類相減運算符重載 date.h #ifndef __CLASS_H__

原创 C/C++動態內存管理

C/C++動態內存管理 C: malloc、calloc、realloc、free C++:new\delete、new[]\delete[] malloc/free與new/delete 實現NEW_ARRAY/DELETE_ARRA

原创 error C2084 函數“”已有主體

新手錯誤 我在頭文件裏定義了這樣一個結構體 struct addressBook { struct contact contacts[MAX]; int sz; }list; 然後我在實現部分定義了這樣一個函數 void

原创 編譯通過,無法啓動程序.dll

代碼編譯通過,卻無法啓動程序,可能是因爲在創建工程的時候創建錯了 我就犯了這樣一個錯誤,創建工程的時候估計手抖了,創建了一個動態庫,生成.dll文件,咋也跑不起來,也不顯示原因。 一個新手檢查不出這樣的問題,而老手不會犯這樣的低級錯