Time of Update: 2015-07-26
標籤:一、變數的記憶體分析1.位元組和地址為了更好地理解變數在記憶體中的儲存細節,先來認識一下記憶體中的“位元組”和“地址”。(1)記憶體以“位元組為單位”0x表示的是十六進位,不用過於糾結,能看懂這些數字之間誰大誰小就行了(2)不同類型佔用的位元組是不一樣的,資料越大,所需的位元組數就越多2.變數的儲存(1)所佔用位元組數跟類型有關,也跟編譯器環境有關(2)變數執行個體int b = 10;int a =
Time of Update: 2015-07-26
標籤: 最近又開始寫專案服務器部分了, 再次接觸了C++ 有了一些更深入的體會。記錄一下,以免忘記~ 之前學習C++ 差不錯都是靠死記, 記住C++的用法,C++的特性,然後去使用。沒有從根本上理解,導致
Time of Update: 2015-07-26
標籤:虛函數 虛指標 虛函數表 記憶體位址 虛函數地址 【摘要】很多教材上都有介紹到虛指標、虛函數與虛函數表,有的說類對象共用一個虛函數表,有的說,一個類對象擁有一個虛函數表;還有的說,無論使用者聲明了多少個類對象,但是,這個VTABLE虛函數表只有一個;也有的在說,每個具有虛函數的類的對象裡面都有一個VPTR虛函數指標,這個指
Time of Update: 2015-07-26
標籤:從低地址到高地址:1、代碼區【包含常量的】:存放函數體的二進位代碼2、全域變數區【已初始化 + 未初始化】: 全域變數和靜態變數的儲存是放一塊的,初始化的全域變數和靜態變數在一塊地區, 未初始化的(全域變數和的靜態變數)在相鄰的另一塊地區。 程式結束後有系統釋放3、堆:由程式員分配釋放, 若程式員不釋放,程式結束時可能由OS回收
Time of Update: 2015-07-26
標籤:先看一個“奇怪”的錯誤:#include <iostream>#include <stdlib.h>using namespace std;class A{private: int sad; public: void f() const; void f1(); //A(int); //A();};void A::f() const{cout<<"dfsdfds"; }
Time of Update: 2015-07-26
標籤:單鏈表 電腦 逆波蘭運算式 棧的應用 逆波蘭標記法(Reverse Polish notation,RPN,或逆波蘭記法),是一種是由波蘭數學家揚·武卡謝維奇1920年引入的數學運算式方式,在逆波蘭記法中,所有操作符置於運算元的後面,因此也被稱為尾碼標記法。逆波蘭記法不需要括弧來標識操作符的優先順序。逆波蘭結構由弗裡德裡希·鮑爾(Friedrich L.
Time of Update: 2015-07-26
標籤:C++中建構函式調用建構函式最近在整理C++知識的時候,突然想到如何在C++中實現建構函式調用建構函式的問題,常見的錯誤是按照如下方式來調用: 1: #include 3: class Test 4: { 5: public: 6: int m_a; 8: Test(int a) 9: {10: m_a = a;11: }13: Test()14: {15: Test(1);16:
Time of Update: 2015-07-26
標籤:c++ 靜態變數 靜態方法 在C++中,靜態成員是屬於整個類的而不是某個對象,靜態成員變數只儲存一份供所有對象共用。所以在所有對象中都可以共用它。使用靜態成員變數實現多個對象之間的資料共用不會破壞隱藏的原則,保證了安全性還可以節省記憶體。static成員的所有者是類本身和對象,但是多個對象擁有一樣的靜態成員。從而在定義對象時不能通過建構函式對其進行初始化; 靜態成員不能在類定義裡邊初始化,
Time of Update: 2015-07-26
標籤:C 語言宏定義1、例子如下:#define PRINT_STR(s) printf("%s",s.c_str())string str = "abcd";PRINT_STR(str);結果如下:abcd2、現在我期望列印出,str=abcd, 容易想到的解決辦法是:#define PRINT_STR(s) printf("s" "=" "%s",s.c_str())列印出來的結果是
Time of Update: 2015-07-26
標籤:printf ()函數什麼時候真正把輸出傳遞到螢幕? 首先printf()語句將輸出傳遞到一個被稱為緩衝區(buffer)中的儲存地區。緩衝區的內容才在不斷的被傳遞到螢幕。標準C規定一下幾種情況下將緩衝區的內容傳給螢幕:緩衝區慢的時候,遇到分行符號的時候,以及有輸入的時候(因為scanf()輸入的值最先也要傳到緩衝區) ,將緩衝區內容傳送給螢幕或檔案稱為重新整理緩衝區。C語言輸入輸出的重新整理問題
Time of Update: 2015-07-26
標籤: 要更深入瞭解C++, 必須要知道一個程式從開始到結束都幹了些什麼, 怎麼乾的。 所以我從C++編譯到運行過程,解析下程式是怎麼跑的。
Time of Update: 2015-07-26
標籤:一、算術運算C語言一共有34種運算子,包括了常見的加減乘除運算1. 加法運算+除了能做加法運算,還能表示正號:+5、+902.減法運算-除了能做減法運算,還能表示符號:-10、-293. 乘法運算*注意符號,不是x,而是*4.除法運算/● 注意符號,不是÷,也不是\,而是/●整數除於整數,還是整數。1/2的值是0,這個並不是二分之一5.取餘運算%●什麼是取餘:兩個整數相除之後的餘數●%兩側只能是整數●正負性取決於%左側的數值6.注意點(1)自動類型轉換int a =
Time of Update: 2015-07-26
標籤:Math.abs() 計算絕對值。 Math.acos() 計算反餘弦值。 Math.asin() 計算反正弦值。 Math.atan() 計算反正切值。 Math.atan2() 計算從x 座標軸到點的角度。 Math.ceil() 將數字向上舍入為最接近的整數。 Math.cos()&n
Time of Update: 2015-07-26
標籤:建立時間是檔案存入到電腦中的時間,而修改時間則是改變起內容的最後時間// 讀取檔案的建立、修改、訪問時間FileInfo fi = new FileInfo("C://test.txt");Console.WriteLine(fi.CreationTime.ToString());Console.WriteLine(fi.LastWriteTime.ToString());Console.WriteLine(fi.LastAccessTime.ToString());//
Time of Update: 2015-07-26
標籤:原文:http://www.jb51.net/article/56682.htm背景:微軟的 .NET FRAMEWORK 現在可謂如火如荼了。但是,.NET 一直所為人詬病的就是“胃口太大”,狂吃記憶體,雖然微軟聲稱 GC 的功能和智能化都很高,但是記憶體的回收問題,一直存在困擾,尤其是 winform 程式,其主要原因是因為.NET程式在啟動時,是需要由JIT動態編譯並載入的,這個載入會把所有需要的資源都載入進來,很多資源是只有啟動時才用的。以XP 系統為例子,
Time of Update: 2015-07-26
標籤:c# 外殼 病毒 殭屍 傀儡 記憶體運行程式或稱傀儡程式也可以稱外殼程式中運行你的程式,簡單的擺在程式被建立後強制掛起 並卸載原程式的原有區、寫入新的程式的代碼
Time of Update: 2015-07-26
標籤: 在做登入時通常是要帶驗證碼,在aspx頁面調用: <input type="text" id="txtCode"
Time of Update: 2015-07-26
標籤:今天學習了下C#使用者控制項開發添加自訂屬性的事件,主要參考了MSDN,總結並實驗了一些用於開發自訂屬性和事件的特性(Attribute)。在這裡先說一下我的環境:作業系統:Windows7旗艦版(Service Pack 1)VS版本:Microsoft Visual Studio Ultimate 2012,版本 11.0.50727.1 RTMREL.NET Framework版本:4.5.50938C#版本:Visual C#
Time of Update: 2015-07-26
標籤:exercise 1-17/* Write a program to print all input lines that are longer than 80 characters. */#include <stdio.h>#define MAXLINE 1000 /* maximum input line size */#define LONGLINE 80int getline(char line[], int maxline);/* print
Time of Update: 2015-07-26
標籤:題意:有一個比較長的區間可能是100000.長度, 每個點都有一個值(值還比較大),現在有一些操作,C abc, 把區間a-b內全部加上c,