高品質c/c++編程(5)

 第5章 常量    常量是一種標識符,它的值在運行期間恒定不變。C語言用 #define來定義常量(稱為宏常量)。C++ 語言除了 #define外還可以用const來定義常量(稱為const常量)。5.1 為什麼需要常量 如果不使用常量,直接在程式中填寫數字或字串,將會有什麼麻煩?(1)       程式的可讀性(可理解性)變差。程式員自己會忘記那些數字或字串是什麼意思,使用者則更加不知它們從何處來、表示什麼。(2)       在程式的很多地方輸入同樣的數字或字串,難保不發生書寫錯誤。(3

C#排序演算法 之 插入排序

using System;     namespace InsertionSorter    {        public class InsertionSorter        {            public void Sort(int [] list)            {                for(int i=1;i<list.Length;i++)                {                    int t=list[i];      

C#排序演算法 之 冒泡排序

using System;       namespace BubbleSorter     {         public class BubbleSorter         {             public void Sort(int [] list)             {                 int i,j,temp;                 bool done=false;                 j=1;    

高品質c/c++編程(9)

 第9章 類的建構函式、解構函式與賦值函數建構函式、解構函式與賦值函數是每個類最基本的函數。它們太普通以致讓人容易麻痹大意,其實這些貌似簡單的函數就象沒有頂蓋的下水道那樣危險。       每個類只有一個解構函式和一個賦值函數,但可以有多個建構函式(包含一個拷貝建構函式,其它的稱為普通建構函式)。對於任意一個類A,如果不想編寫上述函數,C++編譯器將自動為A產生四個預設的函數,如    A(void);                    // 預設的無參數建構函式    A(const A

高品質c/c++編程(6)

 第6章 函數設計函數是C++/C程式的準系統單元,其重要性不言而喻。函數設計的細微缺點很容易導致該函數被錯用,所以光使函數的功能正確是不夠的。本章重點論述函數的介面設計和內部實現的一些規則。函數介面的兩個要素是參數和傳回值。C語言中,函數的參數和傳回值的傳遞方式有兩種:值傳遞(pass by value)和指標傳遞(pass by pointer)。C++ 語言中多了引用傳遞(pass by

高品質c/c++編程(10)

  第10章 類的繼承與組合 對象(Object)是類(Class)的一個執行個體(Instance)。如果將對象比作房子,那麼類就是房子的設計圖紙。所以物件導向設計的重點是類的設計,而不是對象的設計。對於C++程式而言,設計孤立的類是比較容易的,難的是正確設計基類及其衍生類別。本章僅僅論述“繼承”(Inheritance)和“組合”(Composition)的概念。注意,當前物件導向技術的應用熱點是COM和CORBA,這些內容超出了C++教材的範疇,請閱讀COM和CORBA相關論著。10.1

java和c#企業開發

來新公司半年了。 一直做.net c#開發,加上以前做.net

c# 二分尋找

   // perform a binary search on the data   public int BinarySearch( int searchElement )   {  private int[] data;      int low = 0; // low end of the search area      int high = data.Length - 1; // high end of the search area      int middle = ( low

C#排序演算法 之 希爾排序

using System;      namespace ShellSorter    {        public class ShellSorter        {            public void Sort(int [] list)            {                int inc;                for(inc=1;inc<=list.Length/9;inc=3*inc+1); 

高品質c/c++編程(11)

  第11章 其它編程經驗11.1 使用const提高函數的健壯性看到const關鍵字,C++程式員首先想到的可能是const常量。這可不是良好的條件反射。如果只知道用const定義常量,那麼相當於把火藥僅用於製作鞭炮。const更大的魅力是它可以修飾函數的參數、傳回值,甚至函數的定義體。const是constant的縮寫,“恒定不變”的意思。被const修飾的東西都受到強制保護,可以預防意外的變動,能提高程式的健壯性。所以很多C++程式設計書籍建議:“Use const whenever

C#資源檔比對與自動翻譯。

先暫時記錄下,介面以後有時間做,做這個主要是因為有一份資源檔,對應英,簡,繁。現在的情況就是英文最全,然後簡體次之,繁體最不全,因為直接從英文翻譯到繁體錯誤幾率大,所以要求先從簡翻譯到繁。其實這種網上工具也有,用了一下感覺太複雜,不好操作,要麼全部給翻譯了(這也就沒有意義了),於是自己寫一個,先做完再說。   資源檔需要處理的資料主要有幾種形式. <data name="Name1"><value>this is my long string</value&

C++記憶體配置秘籍—new,malloc,GlobalAlloc詳解

                                        C++記憶體配置秘籍—new,malloc,GlobalAlloc詳解                                                   _______只為因記憶體配置而無法入眠的程式員一。關於記憶體 1、記憶體配置方式  記憶體配置方式有三種:  (1)從靜態儲存地區分配。記憶體在程式編譯的時候就已經分配好,這塊記憶體在程式的整個運行期間都存在。例如全域變數,static變數。  

C# List Distinct

不太清楚微軟為啥給泛型List提供了Distinct擴充, 卻非要傳遞一個Compare型的參數, 為啥不是一個委託呢?好麻煩啊, 只能實現那個介面...代碼Code highlighting produced by Actipro CodeHighlighter

C#不對稱式加密

不對稱式加密 對稱式加密的缺點是雙方使用相同的密鑰和IV進行加密、解密。由於接收方必須知道密鑰和IV才能解密資料,因此發送方需要先將密鑰和IV傳遞給接收方。這就有一個問題,如果攻擊者截獲了密鑰和IV,也就等於知道了如何解密資料!如何保證發送方傳遞給接收方的密鑰和IV不被攻擊者截獲並破譯呢?不對稱式加密也叫公開金鑰加密,這種技術使用不同的加密金鑰與解密密鑰,是一種“由已知加密金鑰推匯出解密密鑰在計算上是不可行的”密碼體制。不對稱式加密產生的主要原因有兩個,一是對稱式加密的密鑰分配問題,另一個是由於

C#多線程同步重新梳理

線程同步這一方面,因為相對來說用得比較少,每次做多線程相關的問題是都必須重新溫習,今天在看非同步TCP時,又重新梳理了下。多線程同步大概有兩類:一類是訊號量,另一類是互斥,排他1.訊號量:  執行個體代碼如: class Program    {        private int n1, n2, n3;        EventWaitHandle myEventWaitHandle = new EventWaitHandle(false,

[C++基礎]009_private、protected、public

private 自己可以訪問protected 自己和衍生類別可以訪問public 誰都能訪問上面是三者的存取權限,這對C++的封裝性起到很大作用,但是我們還有一個神器:friend。friend是個什麼東西呢?它可以使得任何函數都可以訪問類的private和protected成員。對於類來說,它破壞了類的封裝性以及安全性。不過,friend在實際編程中很少使用,也盡量少用。此外,一些小知識:1.

[C++基礎]035_指標函數與函數指標

1. 前言 

[C++基礎]025_虛函數和虛函數表

首先有一個有趣的東西:如何不通過對象來訪問對象中的虛函數呢?我們來看下面這樣一段代碼: 1 #include <iostream> 2 using namespace std; 3 4 typedef void (*Fun)(void); // 函數指標 5 6 class A{ 7 public: 8 virtual void testA(void){ 9 cout<<"A is Print."<<endl;10 }11

C# WEB代理

一天無所收穫,把前段時間根據網上例子寫的web代理未調試成功,再拿出來看看,之前有瞭解過反向 Proxy,但對web代理未太注意,在學校的時候曾用過web代理上網,但一直沒有注意其實現原理,對於flidder的HTTP抓包也是用的WEB代理,開啟flidder,會發現IE:單擊進階,則設定了代理的IP為127.0.0.1,連接埠號碼為8888開啟firefox,同樣也設定了代理的IP不過flidder可以對HTTPS網站進行代理。web代理的原理很簡單:瀏覽器把請求的網域名稱發往Proxy

[C++基礎]010_C函數的古老定義方式(K&R style definition)

今天丟人丟大發了,往項目組郵件清單裡發了一封關於函數定義的郵件,討論了關於如下形式的函數定義:#include<stdio.h>void function(arg1, arg2)int arg1;int arg2;{ printf("arg1=%d, arg2=%d", arg1, arg2);}int main(){ function(); function(1); function(1,2); return 0;}上面的代碼輸出為:arg1=13

總頁數: 4314 1 .... 892 893 894 895 896 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.