C標準庫源碼解剖(15):數學函數庫math.h, tgmath.h和complex.h

    數學庫是一個龐大的庫,而且數學函數的實現一般要涉及到特有的數值演算法,因此這裡也是作一個概述性的介紹。標準C中的數學庫有3個標頭檔math.h, tgmath.h和complex.h,其中tgmath.h和complex.h是C99中引入的。標準C中定義的數學函數主要是初等函數,包括絕對值函數、高斯函數(即求最近整數)、指數函數、對數函數、冪函數、三角函數與反三角函數、雙曲函數與反雙曲函數等。非初等函數主要有誤差函數、gamma函數及其自然對數。其他的還有浮點數分類函數、浮點數比較函數。

《C++編程規範》筆記(設計風格)

第5條:一個實體應該只有一個緊湊的職責    單一職責原則。這個原則並不那麼容易執行,即使是STL這樣的程式庫,也一樣會犯違反該原則的錯誤。在這裡,舉了兩個違反這一原則的著名實現:realloc和stl 中的basic_string。不過,對於basic_string,我想比起MFC中的CString還是好了不少。在《Exceptional C++ style》中,對basic_string作了剖析,並且得出一個普遍的原則:盡量將函數實現為獨立的函數而不是成員函數。   

《C++編程規範》筆記(組織和策略)

   

如何編寫異常安全的C++代碼

如何編寫異常安全的C++代碼      關於C++中異常的爭論何其多也,但往往是一些不合事實的誤解。異常曾經是一個難以用好的語言特性,幸運的是,隨著C++社區經驗的積累,今天我們已經有足夠的知識輕鬆編寫異常安全的代碼了,而且編寫異常安全的代碼一般也不會對效能造成影響。    使用異常還是返回錯誤碼?這是個爭論不休的話題。大家一定聽說過這樣的說法:只有在真正異常的時候,才使用異常。那什麼是“真正異常的時候”?在回答這個問題以前,讓我們先看一看程式設計中的不變式原理。    對象就是屬性彙總加方法,

C#使用Dotfuscator混淆代碼的加密方法

Author:flymorn Source:flymornCategories:C#編程 PostTime:2011-9-16 1:04:49正

用C寫有物件導向特點的程式

比如在一個項目中,有大量的資料結構,他們都是雙向鏈表,但又想共用一套對鏈表的操作演算法,這怎麼做到呢,C中又沒有C++中的繼承,不然我可以繼承一父(類中只有兩個指標,一個向前一個向後),而其演算法可以寫在你類中的虛函數中,供子類使用。如:class Links{public:    Links* back;    Links* forword;    virtual Add(){ ... };    virtual Del(){ ... };    virtual Ins(){ ... };  

我的C++實踐(1):Stack的實現

   (1)基本的Stack:以std::deque為內部容器。方法有入棧、出棧、返回棧頂元、判斷棧空。//stack1.h:棧的基本實現#ifndef __STACK1_H__#define __STACK1_H__#include <deque>#include <stdexcept>template<typename T>class Stack{private:std::deque<T> elems;

C泛型__資料結構

這裡通過用C實現一個通用類型的棧結構來加深對資料結構和C指標的一些理解  同時也為一些C通用類型庫函數(如排序)的實現提供一些思路先寫一個int 版本的棧用於比較:typedef struct{ int* elem; int logicalLen; int allocLen;}stack;void StackNew(stack* s){ s->logicalLen = 0; s->allocLen = 4; s->elem =

C++語言的駭客行為

  在C++中,利用C++編譯器在實現虛函數調用時的某些伎倆,我們可以在類外直接調用到類的私人成員函數!!代碼如下,代碼中有詳細的說明。//hacker.cpp: C++語言的駭客行為#include <iostream>class Coo{private: int d; //特意將d放在最前面,但實際上Coo類的對象記憶體中 //在d前面還有一個指向vtable數組的指標變數

JackZhou的負責任書評:C++ Primer中文版(第4版)

     C++ Primer中文版(第4版)書評  

C標準庫源碼解剖(7):日期與時間函數time.h

    日期與時間函數在time.h中,主要表示處理器時鐘的clock_t類型、表示時間的time_t類型、時鐘每秒滴答數CLOCKS_PER_SEC、描述日曆時間的struct tm結構、函數clock、time、asctime、ctime、gmtime、localtime、mktime、difftime、strftime、wcsftime(寬字元版本),其他的都是非標準擴充。    1、time.h:類型clock_t, time_t的定義,宏CLOCKS_PER_SEC,struct

“21天教你學會C++”

 更多文章請訪問“酷殼”:http://CoolShell.cn 原文:http://coolshell.cn/?p=2250   下面是一個《Teach Yourself  C++ in 21

C泛型___函數

對於c++等進階語言來說,語言本身提供了泛型模板,可以由編譯器產生各種版本的完成相同功能的函數。而對於c來說,我們怎麼來完成這一切呢,我們可以充分利用指標來實現樣本1 交換兩個元素void swap(void* vp1, void* vp2, int size){     char* cpTemp = new char[size];     memcpy(cpTemp, vp1, size);     memcpy(vp1,        vp2, size);     memcpy(vp2,

C系基本類型數值轉換

1.相同類型有符號和無符號數之間轉換(int<->unsiged int):     這種轉換隻涉及位的解釋  也就是說位元模式是不變的  只是最高位是否解釋為符號位的問題     eg: int i = -1; unsigned int ui = i;  此時ui=42949672952.短類型賦給長類型(eg: short->int)     將short的所有位放在int的低位兩個位元組裡, 對於高位 有符號展和0擴充兩種方式  具體跟蹤short有無符號而定   

‘&’和’*’ (C++)的區別

'&'和'*' (C++)的區別文章作者:PreludeIt depends on what is meant by &. Since C++ makes use of overloaded built in operators, & can either take the address of an object, perform a bitwise AND operation, do anything related to a user defined type

MiloYip的光線追蹤入門文章C++代碼版本

看到一篇MiloYip的文章《用 JavaScript玩轉電腦圖形學(一)光線追蹤入門》例子代碼用javaScript寫的,還能在網頁上改改各種參數並看到執行效果;  (不支援IE,需要瀏覽器支援html5的canvas)覺得寫得很棒;      我改寫了一個C++實現版本,應該有人也需要吧 :  http://cid-10fa89dec380323f.skydrive.live.com/self.aspx/.Public/raytracerCpp.zip

POCO C++庫學習和分析 — 記憶體管理 (二)

POCO C++庫學習和分析 -- 記憶體管理 (二)3. SharedPtr        SharedPtr是Poco庫中基於引用計數實現的另外一種智能指標。同AutoPtr相比,Poco::SharedPtr主要用於為沒有實現引用計數功能的類(換句話說,也就是該類本身不是引用計數對象)提供引用計數服務,實現動態地址的自動回收。       

POCO C++庫學習和分析 — 序

POCO C++庫學習和分析 -- 序POCO庫概述:POCO是一個C++的開源庫集。同一般的C++庫相比,POCO的特點是提供了整一個應用程式框架。如果要做C++程式應用程式框架的快速開發,我覺得STL+boost+Poco+Qt+Mysql實在是個不錯的組合。下面的這張圖提供了POCO庫的一個結構。對於POCO概述更加詳細的介紹,可以看一下官方網站和《POCO C++庫導遊》以及《POCO C++簡介》這篇文章。 對於我來說,POCO

c++程式員 常用工具集

轉自http://www.cppblog.com/tx7do/archive/2006/04/21/6042.html 【聲明】如需複製、傳播,請附上本聲明,謝謝。原文出處:http://morningspace.51.net/,moyingzz@etang.com  所謂“工欲善其事,必先利其器”,從程式員的角度來講,好工具的使用總會給人帶來事半功倍的效果。面對眾多工具/軟體,我們應該如何取捨呢。前不久,筆者在csdn的c++論壇發了一篇貼文,以期能徵求大家的廣泛意見,得到了不錯的反響。本文在

總頁數: 4314 1 .... 1623 1624 1625 1626 1627 .... 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.