Time of Update: 2018-12-05
一直在用C++,使用cin讀入double類型,今天寫了點C,突然發現從鍵盤讀入double類型出錯了。代碼如下:double a;scanf("%f",&a);printf("%f\n",a);輸入的小數部分是亂碼。查了一下資料,原來是我把格式化輸入搞錯了。 printf 使用%f 可以輸出 double 和 float 類型但是 scanf 使用%f 讀入 float 類型,使用 %lf 讀入double類型所以正確代碼應是:double
Time of Update: 2018-12-05
我們在學習C++類的時候,經常會看到這樣的成員函數 void function_name(...)const;相比普通的成員函數,其最後加了個 const,像這種在函式宣告的參數表後面出現的const的成員函數我們稱之為“常量成員函數”,它指明這些函數不會修改對象的狀態。很顯然,編譯器將能捕捉到無意中違背這種承諾的任何企圖。例如我們定義這樣一個類:class A{int x;public:int visit()const;};當我們的visit()函數如下:int A::visit
Time of Update: 2018-12-05
一看到“=”操作符,認為必然調用賦值函數,然而在下面的例子中,語句a b = c顯示的是調用拷貝建構函式。結論:在看到“=”操作符為對象賦值的時候,如果是在對象的定義時候出現則調用拷貝建構函式,如果是不是,例子中的b=d,則為賦值函數。 #include <iostream>using namespace std;class a{public: a(int d): data(d) {}; a(const a &aa);
Time of Update: 2018-12-05
類的靜態成員主要是用來解決資源共用的問題。但其使用起來還是比較蛋疼的,很容易搞混,所以在這寫下來當做以後複慣用。類的靜態成員包括待用資料成員和靜態函數成員。一.待用資料成員:類中的資料成員的聲明前加上static關鍵字,該資料成員就成為了該類的待用資料成員。和其他資料成員一樣,靜態資料成員也遵守public/protected/private訪問規則。同時,待用資料成員還具有以下特性:1.待用資料成員的定義待用資料成員實際上是類域中的全域變數。所以,待用資料成員的定義(初始化)不應該被放在標頭檔
Time of Update: 2018-12-05
先看一段代碼:#include <stdio.h> void g(char **p){ char (*q)[5] = p; q[0][0]='a';};void f(char **p){ p[0][0]='a';};int main(){ char a[4][5] = {{'h','e','l','l'}}; g(a); printf("%s/n",a[0]); //ok ,will print aell f(a);
Time of Update: 2018-12-05
今天複習C++
Time of Update: 2018-12-05
C++:從子類訪問父類的私人函數轉自 龍音閣http://blog.sina.com.cn/dragonsound 感謝原作者的工作(2009-09-01 22:44:21)標籤: 虛函數 c private f1 it
Time of Update: 2018-12-05
ANSI/ISO的C++ STL規範版本正式通過以後,各個C++編譯器廠商就可以依照標準所描述的原型去實現C++ STL泛型庫,於是出現多種符合標準介面,但具體實現代碼不同的泛型庫,主要有:HP STLHP STL是Alexandar Stepanov在惠普Palo Alto實驗室工作時,與Meng Lee合作完成的。HP STL是C++ STL的第一個實現版本,而且是開放源碼。其它版本的C++ STL一般是以HP STL為藍本實現出來的。SGI STL由Silicon Graphics
Time of Update: 2018-12-05
1. bool 類型是C++的一個標準類型 我們常會遇到BOOL,那麼BOOL與bool有什麼區別呢? BOOL類型,通常是程式員自己或者看庫檔案類比出來的。類比的方法可以有以下兩種:(1)typedeftypedef int BOOL;#define TRUE 1#define FALSE 0這種BOOL其實就是int類型,只是方便使用和記憶而已。(2)enumtypedef enum{true,false} BOOL ;2.
Time of Update: 2018-12-05
目錄1. 尾碼名... 12. include 預先處理指示符... 13. 條件指示符 #ifndef #indef. 24. 編譯器自動定義預先處理名字... 25. assert. 26. 標準錯誤... 37. 動態記憶體... 38. 內嵌函式 inline. 39.
Time of Update: 2018-12-05
http://www.cppblog.com/abilitytao/archive/2009/03/24/77699.html C++標準庫簡介(轉)C++標準庫的所有標頭檔都沒有副檔名。C++標準庫的內容總共在50個標準標頭檔中定義,其中18個提供了C庫的功能。 <cname>形式的標準標頭檔【 <complex>例外】其內容與ISO標準C包含的name.h標頭檔相同,但容納了C++擴充的功能。在
Time of Update: 2018-12-05
一、預備知識按範圍的稱謂 按定義位置的稱謂局部變數:在函數內定義的變數 <----> 內部變數全域變數:函數之外定義的變數 <----> 外部變數 變數分類:|-------
Time of Update: 2018-12-05
Ccodeblocks+gcc #include <stdio.h>#include <stdlib.h>int main(){ int nWeek = 1; switch (nWeek) { case 1: printf("周一 "); case 2: printf("周二 "); default: printf("其它 ");
Time of Update: 2018-12-05
今天在研究字元編碼的時候偶然想到一個問題,在ansi編碼中,一個中文字元是用兩個位元組表示的,但是一個char是一個位元組,那麼如果我將一個中文字元賦值給一個char變數的話,列印輸出會發生什麼情況呢?試了一下,發現亂碼,意料之中,顯然電腦還是把這個中文字元拆成了兩半,把其中的一般賦值給了變數a,那麼賦給它的到底是哪一半呢?試一下便知道了,中文字元‘你’的十六進位編碼是C4 E3,那麼按照下面程式輸出結果為:char a =
Time of Update: 2018-12-05
C#中 類的靜態成員變數(m_Number)可以通過非靜態成員函數(GetNumber()、SetNumber())訪問這樣,在外部,就可以new 一個類對象,通過調用該對象(sv)的GetNumber()、SetNumber()來間接訪問m_Number,當然直接存取還是必須通過類名.變數名的方式。 using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace
Time of Update: 2018-12-05
/************************************************************************************************ * 名 稱: main.c * 功 能:C標準庫,標頭檔math.h學習,筆記 * 描 述:math.h中 提供的函數說明 * 作 者:JarvisChu * 時 間:2011-7-16 建立 **************************************************
Time of Update: 2018-12-05
C++中枚舉類型中的每個元素,可以直接使用,不必通過類型.元素的方式調用沒有++操作 #include <iostream>using namespace std;enum week{Monday,Thuesday};int main(){ week day; day = Monday; day = Thuesday; //day = 4; 報錯 類型轉化出錯 //day++; 出錯,沒有++ 操作 cout << day
Time of Update: 2018-12-05
C/C++常見誤區 轉自 愛娟娟
Time of Update: 2018-12-05
一個關於VC++6.0與標準C++差異處理的小技巧2010-02-21 22:02轉載自 辯一辯的百度空間VC++6.0對標準C++的支援並不太好,其中最常見的就是: #include<iostream>using namespace std;int main(){ int s=0; for (int i=1;i<10;i++) ; for (int i=1;i<10;i++) ; cout<<s;}
Time of Update: 2018-12-05
C++的介面庫經過幾天來的搜尋,總結了下面幾種的優缺點1. MFC 優點:VS2008以及VS2010的擴充確實很強大,特別是原生的視窗運行時停靠以及PropertyGrid確實很強大 缺點:預設字型很模糊,無論你對MFC多瞭解,C++多熟悉,每次寫代碼時依然要重新熟悉代碼,更不用提分析別人寫的MFC代碼,一個字:亂。2. WTL 優點:Windows下有個最好的例子:Google Chrome 缺點:缺乏設計器,文檔例子很少3. wxWidgets 優點:虛幻3編輯器在用(