《C專家編程》總結

      開始讀《C專家編程》之前,有一個很擔心的問題:94年出的講語言的書,在現在(2012)還有多少是適用的。因此,一邊讀,一邊用VS2010做實驗。最後發現大部分內容都還在用。讀完後,覺得最精彩的部分有二:一是講解如何理解聲明,二是深入地講解數組名與指標。下文是將看書過程中所做的筆記進行的整理。p.s: 以下代碼均在VS2010測試過 1. 使用無符號數時要特別注意(不推薦使用無符號數)當無符號數與有符號數在同一條運算式中出現時,有符號數會被轉換為無符號數。e.g:int feng =

const in c++

在閱讀c++primer第三版時,奴家就注意到const在c++中被用得很重。長期寫objc和浸淫在cocoa環境中,看到c++代碼中函數形參很多都帶有一個const,實在讓奴家很不適應。const的作用是告訴編譯器,接下來聲明和定義的這個變數將無法改變其初始化值。當然,const限定的是值還是地址,要看具體聲明。在寫objc時,奴家並未太過注意這點,甚至沒有使用過const,一般都是用宏。也看到過姐妹們寫過,不過也並未當真。果真因為objc太過簡單麼。看官莫笑,objc是奴家學習的第一門對編譯

c語言非安全執行緒函數引發的BUG一列

  公司的機器最近遇到一個bug(其實這個bug一年前就出現過,只是未引起重視),現象是這樣的:在生產環境中,使用者連續列印票的時候,中間某張票的一個時間可能會出問題,該時間本來是一個未來的時間,卻被列印成了系統當前的時間.其他同事認為是傳入的參數出錯了,加了大量的調試資訊和日誌進去,結果去令人掉眼鏡,傳入的參數是完全正確的,但是結果去不是預期的.  最終排查BUG的任務轉到了我手裡,我簡單分析了下上層流程,並無問題,於是把問題定位在底層庫的FormatTime函數上,於是要了份FormatTi

C#資料結構與演算法揭秘三

上文我們討論了一種最簡單的線性結構——順序表,這節我們要討論另一種線性結構——鏈表。什麼是鏈表了,不要求邏輯上相鄰的資料元素在實體儲存體位置上也相鄰儲存的線性結構稱之為鏈表。舉個現實中的例子吧,假如一個公司召開了視頻會議的吧,能在北京總公司人看到上海分公司的人,他們就好比是邏輯上相鄰的資料元素,而物理上不相連。這樣就好比是個鏈表。 鏈表分為①單鏈表,②單向迴圈鏈表,③雙向鏈表,④雙向迴圈鏈表。介紹各種各樣鏈表之前,我們要明白這樣一個概念。什麼是結點。在儲存資料元素時,除了儲存資料元素本身的資訊外

C#資料結構與演算法揭秘十

這篇文章,我們來討論圖的相關知識。一、究竟什麼圖裝結構了,所謂的圖是圖狀結構簡稱圖,是另一種非線性結構,它比樹形結構更複雜。樹形結構中的結點是一對多的關係,結點間具有明顯的層次和分支關係。每一層的結點可以和下一層的多個結點相關,但只能和上一層的一個結點相關。而圖中的頂點(把圖中的資料元素稱為頂點)是多對多的關係,即頂點間的關係是任意的,圖中任意兩個頂點之間都可能相關。也就是說,圖的頂點之間無明顯的層次關係,這種關係在現實世界中大量存在。因此,圖的應用相當廣泛,在自然科學、社會科學和人文科學等許多

c#訪問access資料庫

View Code using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.Sql;using System.Data;using System.Data.OleDb;namespace AccessVisit{class Program{static void Main(string[] args){DataTable DT = new

c#調用cmd執行相關命令

/// <summary> /// 執行DOS命令,返回DOS命令的輸出 /// </summary> /// <param name="dosCommand">dos命令</param> /// 如果設定為0,則無限等待</param> /// <returns>返回DOS命令的輸出</returns>

C#事件機制-複習

事件機制 class Person { public string name; public int age; public string sex; public float money; public Person() { this.name = "張三"; this.age = 18; this.sex = "男";

C#:介面)

  http://www.cnblogs.com/LilianChen/archive/2013/03/05/2944627.html介面名傳統上以字母I開頭,以便知道這是一個介面從介面中派生完全獨立於從類中派生在聲明介面成員的時候,只要指明介面成員的名稱和參數就可以了,介面一旦被繼承,子類需要提供方法的所有實現代碼。介面聲明不包括資料成員,只能包含方法、屬性、事件、索引等成員。不允許聲明成員上的修飾符,即使是pubilc都不行,因為介面成員總是公有的,也不能聲明為虛擬和靜態。如果需要修飾符,最

C#4.0新特性學習(二)—擴充方法

   擴充方法其實是C#3.0就引入的文法特性(本人out了)。通過使用擴充方法,可以在不建立新的衍生類別型、不修改原始類型的原始碼的情況下,向現有類型“動態”添加方法。   有如下的原始類型:    class MyMath    {        public int Add(int a, int b)        {            return a + b;        }    }  添加“擴充方法”    static class MyMathExtend    {    

C#datagridView中嵌套控制項

string StrSql = "exec proc_PriceReport '" + dgvOrderList.Rows[e.RowIndex].Cells[1].Value.ToString() + "'"; dt = DbHelper.DbHelperSQL.DataQuery(StrSql).Tables[0]; DataGridViewButtonColumn btnSave = new

如何在C++獲得系統時間

//方案— 優點:僅使用C標準庫;缺點:只能精確到秒級 #include <time.h> #include <stdio.h> int main( void ) { time_t t = time(0); char tmp[64]; strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) ); puts( tmp ); return 0; } size_t

.net/c#中棧和堆的區別及代碼在棧和堆中的執行流程詳解之一

原文出處: http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory01122006130034PM/csharp_memory.aspx 儘管在.NET framework下我們並不需要擔心記憶體管理和記憶體回收(Garbage

C# 註冊系統熱鍵

     註冊快速鍵,簡言之,就是為程式製作快速鍵,可以起到監控鍵盤事件的作用。很多軟體都帶熱鍵功能的,通過以下代碼可以實現2個鍵或3個鍵的快速鍵。    這是昨天用C#寫機頂盒控制系統音量時,寫的代碼。附上共用。 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using

C#在進度條中顯示複製檔案的進度

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;using System.Xml;using System.Collections;using

C#***類、序列化、函數……

0. 序列化概念序列化是將對象轉換為容易傳輸的格式的過程。例如,可以序列化一個對象,然後使用 HTTP 通過 Internet 在用戶端和伺服器之間傳輸該對象。反之,還原序列化根據流重新構造對象。XML 序列化僅將對象的公用欄位和屬性值序列化為 XML 流。1. XmlSerializer 類將對象序列化到 XML 文檔中和從 XML 文檔中還原序列化對象。XmlSerializer 使您得以控制如何將對象編碼到 XML 中。2. 什麼是 XML 序列化?XML 序列化是將對象的公用屬性

C# 和 JavaScript Cookie 共用

cookie.aspx<%@ Page Language="C#" AutoEventWireup="true" CodeFile="cookie.aspx.cs" Inherits="cookie" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html

JavaScript調用C#辦法-轉帖

轉帖:1.後台方法:protected string CsharpVoid(string strCC){ return strCC;}2.javascript 調用<script  language="javascript">  var s = "<%=CsharpVoid("www.esoutong.com")%>";     document.write(s);</script>+++++++++++++++++第二種情況:1.後代碼:protected

C++中的標頭檔和源檔案

http://www.cnblogs.com/lidabo/archive/2012/04/17/2454568.html 一、C++編譯模式通常,在一個C++程式中,只包含兩類檔案——.cpp檔案和.h檔案。其中,.cpp檔案被稱作C++源檔案,裡面放的都是C++的原始碼;而.h檔案則被稱作C++標頭檔,裡面放的也是C++的原始碼。C+ +語言支援“分別編譯”(separate

C# 既要返回bool又要返回錯誤資訊

http://zhidao.baidu.com/question/329266483.html 2種辦法,都得修改函數。1是加參數,public bool FunctionTest(string& s){ 修改字串; return false;}2是重新定義傳回值,class boolWithString{ bool b; string s;};public boolWithString FunctionTest(string&

總頁數: 4314 1 .... 2387 2388 2389 2390 2391 .... 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.