原创 MiniDump - 調試問題的基礎

前言 這個minidump對於在windows平臺上調試程序問題是十分重要的,所以有必要提一下。 之前我有一個博客說的很詳細了,但是因爲同事借我的賬號亂下載文件,所以直接給註銷了。換了一家公司以後,發現他們的程序完全沒有Dump檢

原创 QT 對象樹的概念

在Qt裏面,半存在着垃圾回收機制,不過不是系統自己執行的,是需要使用者自己去綁定的。 從QObject繼承下來的控件,在初始化的時候都可以爲其指定一個QObject *parent的指針,這個指針的作用就是指定它是那個控件下面的子

原创 關於模板聲明與定義必須放在一起的一種猜測

看看我的試驗結果: #include "tem.h" int main() { int a = 6; func(); } 當然,這裏的 func();應該是帶一個參數的,這裏沒寫,主要是想看是否查看了tem.h

原创 桶排序 VS 位排序

桶排序:數組裏面可以有重複的數字或者字符,但是會佔用大量空間。 位排序:數組裏面不能有重複的數字或者字符,佔用空間小。 下面分別用代碼說明: 桶排序 #include <iostream> void StackSort(int*

原创 數組向右旋轉的一種解題思路

無論數組是向右還是向左旋轉,我們都可以將其轉換爲向右旋轉,這樣可以避免對數組下標的判斷。 比如要將數組向左旋轉3位,可以將其轉換爲向右旋轉n - 3位。 旋轉過程中要注意數組位數是否爲旋轉的位數的倍數,如果不加處理可能就一直在處理

原创 對Template的認識

我們來看一個示例: #include <iostream> #include <vector> #include <algorithm> template<typename T> bool greator(T first, T

原创 因一個delete引發的思考

請看這樣一段代碼: class Test { public: void speak() { delete this; m_value = 100; std::cout

原创 對於delete 和 delete[] 的認識

這有什麼好說的,new -> delete / new[] -> delete[] 就完了唄,你可曾想過new[] -> delete會有什麼問題,什麼情況下會有問題? 當然這裏參考了侯捷老師的教程,也自己親手試過了,看了內存值。

原创 對new的認識

唉,基礎不牢固就是要付出很多的努力才能彌補(T_T) new在底層做的工作: 1)分配空間(operator new) 2)強制轉換爲對象 3)調用構造函數初始化 4)返回指針 尤其第一步,operator new,我們重載new

原创 準備面試過程中遇到比較有意思的一個題

對於單例類,大家應該不陌生吧,但是要用好,還是要信息一些,否則出現內存泄漏都弄不明白爲什麼。 題目是這樣的:手寫單例模式 剛入IT行業的人多半會以爲人家考察的是你對設計模式的理解,其實別人還有另一層深意。 如果只是這樣寫: cla

原创 C++分享 之 定位內存泄漏

雖然市面上有很多定位內存泄露的工具,但是那都是在debug模式下面的,如果我們的代碼不能再本地跑,那麼這些工具對我們來說是沒用的。寫這篇博客的起因也是爲了和大家一起商討如果在不影響或者極少影響效率的情況下,定位到內存泄漏的問題。(

原创 算法(續)用棧實現隊列的功能

這裏最好採用鏈表的形式,每次取出最尾部的元素即可 #include <iostream> using namespace std; struct NODE { int num; NODE* next; }* PN

原创 記一次makefile的經歷

哎呀,剛接觸makefile 和 linux 不久,搞得很多C++的東西都拋諸腦後了,真的慚愧喲。 這是我的文件目錄(實際開發最好不要這樣命名文件,否則到之後自己都不知道這些文件都是幹嘛的) 一開始的源代碼: .1 頭文件 #

原创 算法(續)反轉鏈表

前言 在之前的那家公司,自己的技術實力還算排得上號的,然後同事對自己雖然嚴格(也是爲了自己技術實力能有進一步提升),但是也很尊重自己,然後就迷失了自己,用廣東的話來說,就是在一聲聲的靚仔中迷失了。(哭暈)直到需要找工作才發現自己的

原创 基本算法簡介

沒事練練手,一些基本算法的實現。 #ifndef SORTCOMMON_H #define SORTCOMMON_H class SortCommon { public: //冒泡排序的精髓在於 第一層循環是用來確定每一