私人繼承的一個例子,協助加強理解

B私人繼承A 是指,B is-implement-terms-of A,  B是根據A實現的。#include <iostream>using namespace std;class A{public:A():_a(0){cout << "default constructor A..." << _a << endl;}A(int a):_a(a){cout << "assignment constructor..." <<

通過progress_timer組件擴充計時精度

 //通過progress_timer擴充計時精度//原則上程式庫的代碼不能被使用者修改,不過我們可以通過模板技術仿造progress_timer編寫一個新類//new_progress_timer以實現任意精度的輸出#include <iostream>#include <boost/progress.hpp>#include <boost/static_assert.hpp> //靜態斷言,控制精度範圍在0~10以內using namespace

判斷單鏈表是否有環

有一個單鏈表,其中可能有一個環,也就是某個節點的next指向的是鏈表中在它之前的節點,這樣在鏈表的尾部形成一環。問題:1、如何判斷一個鏈表是不是這類鏈表?2、如果鏈表為存在環,如何找到環的進入點?解答:一、判斷鏈表是否存在環,辦法為:設定兩個指標(fast, slow),初始值都指向頭,slow每次前進一步,fast每次前進二步,如果鏈表存在環,則fast必定先進入環,而slow後進入環,兩個指標必定相遇。(當然,fast先行頭到尾部為NULL,則為無環鏈表)程式如下:bool

[HDOJ 1039] Easier Done Than Said? (基礎,字串) .

 先貼上在VC6.0上運行無誤但在HDOJ後台海量測試資料通之下無法通過的代碼,以便以後分析錯誤原因。#include <iostream>using namespace std;bool isVowel(char letter){switch(letter){case 'a':case 'e':case 'i':case 'o':case 'u':return true;default:return false;}}bool isSame(char ch_1,char ch_2){

[HDOJ 1012] u Calculate e (簡單題)

5467168    2012-03-04 17:59:34      Accepted        1012      0MS  272K        669 B       C++     ajioy此題雖水,但陷阱不容小覷。而且看題時要留心,不要像我一樣,“- ------------"看成了"_  ___________",無辜地WA了幾次。#include <iostream>#include <iomanip> // 控制格式用 using

相當通俗易懂的並查集講解—希望找到原作者

並查集是我暑假從高手那裡學到的一招,覺得真是太精妙的設計了。以前我無法解決的一類問題竟然可以用如此簡單高效的方法搞定。不分享出來真是對不起party了。(party:我靠,關我嘛事啊?我跟你很熟嗎?)來看一個執行個體,杭電1232暢通工程

基於TCP/IP協議及UDP協議的socket編程

小知識點:通訊端:應用程式層到傳輸層的介面,通訊雙方的一個端點。分為流式通訊端(提供雙向有序無重複,沒有邊界記錄的資料流報務)               和資料通訊端(雙向,不保證可靠有序和無重複)。連接埠:整型標識符,16位,0~65535,1024以下是預留位,如80是HTTP連接埠,21是FTP通訊連接埠。1024~49151供一般應用程式使用。49152~65535是動態或私人連接埠。IP:網際協議TCP/IP模型:   應用程式層:(HTTP,FTP,TELNET,DNS,SMTP,

接下來的半年應該好好規劃

昨天入手了《程式員面試寶典》,看了幾個小時,題目大部分會做,很欣慰。這本書前幾章介紹了名企錄用應屆生的流程,投遞簡曆-》筆試->電面->一面->二面->HR面->發放offer錄用。後面分別是C/C++,資料結構和設計模式,作業系統和網路等方面的筆試題,非常受用。準備花兩個星期左右的時間好好做下,一來可以提前熟悉10月份的校園招聘筆試題的大致類型,二來可以系統地複習下所學的知識,溫故知新。百度5月6號在華中科技大學有一場實習生招聘的筆試,我打算找幾位志同道合的同志去

高斯分布公式

常態分佈的隨機數發生器 in C# 主要參考《Numerical Recipes in C++ 2/e》p.292~p.294 和《Simulation Modeling and Analysis 3/e》p.465~p.466。Box 和 Muller 在 1958 年給出了由均勻分布的隨機變數產生常態分佈的隨機變數的演算法。設 U1, U2 是區間 (0, 1) 上均勻分布的隨機變數,且相互獨立。令X1 = sqrt(-2*log(U1)) * cos(2*PI*U2);X2 = sqrt(

date_time組件簡單涉及

 #include <iostream>#define BOOST_DATE_TIME_SOURCE#include <boost/date_time/gregorian/gregorian.hpp>using namespace std;using namespace boost::gregorian;int main(){date d1(2012,12,21);//直接構造date d2(2012,Jan,1);date d3; //無效日期date d4(d2);/

TCP三向交握(建立串連)/四次揮手(關閉串連)詳解帶圖

相對於SOCKET開發人員,TCP建立過程和連結折除過程是由TCP/IP協議棧自動建立的.因此開發人員並不需要控制這個過程.但是對於理解TCP底層運作機制,相當有協助.    而且對於有網路通訊協定工程師之類筆試,幾乎是必考的內容.企業對這個問題熱情之高,出乎我的意料:-)。有時上午面試前強調這個問題,並重複講一次,下午幾乎每一個人都被問到這個問題。 因此在這裡詳細解釋一下這兩個過程。 TCP三向交握 所謂三向交握(Three-way

VC++實現交換網路的QQ號嗅探

 當我們在一個交換網路裡面,不知道別人的QQ號碼是個很痛苦的事情,假如一個PLMM在上網,你卻不知道她得QQ也沒有勇氣去問,是個很可惜的事情,至於我們搞編程的,可以通過交換器的資料交換,嗅探出QQ號,因為QQ資料裡面唯獨QQ號碼不加密。#include "stdafx.h"#include "pcap.h"#include <stdio.h>#include "Iphlpapi.h"#include "protocol.h"#pragma

智能指標scoped_ptr組件的使用

scoped_ptr是一個行為很類似標準庫中的auto_ptr智能指標,它封裝了new操作符在椎上分配的動態對象,能夠保證動態建立的對象在任何時候都能夠被正確的刪除。但是scoped_ptr的所有權更加嚴格,不允許轉讓,對其賦值和拷貝都是不合法行為,因而顯得更輕巧和快捷。scoped_ptr重載了operator*()和operator->()解引用操作符*和箭頭操作符->,因此可以把scoped_ptr對象如同指標一樣使用。如果scoped_ptr儲存的null

[HDOJ1002] A + B Problem II 高數度加法運算

A + B Problem IITime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 KProblem DescriptionI have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. InputThe first line of the input

指向數組的智能指標scoped_array組件的使用

scoped_array與scoped_ptr基本是一對孿生兄弟,它封裝了new[]操作符(而不是new)在堆上分配的動態數組,為動態數組提供了一個代理(Proxy),儲存正確地釋放記憶體。它彌補了標準庫中沒有指向數組的智能指標的遺憾。類摘要:template<class T> class shared_array{private: // Borland 5.5.1 specific workarounds typedef

瞭解boost庫最為簡單的timer組件

timer類非常小,全部實現加上注釋才72行。非常有必要深入瞭解一下。下面的源碼基本與timer.hpp一致,不過自己多此一舉地加了一個解構函式。事實上沒有資源需要銷毀,只是為了承接progress_timer組件的學習。使用建議:timer類介面簡單,輕巧好用,適合於大部分的程式計時任務。不過就精度而言,它不適用於高精度時間測量任務。難以做到跨平台。也不適合大跨度時間段的測量,可提供的最大時間跨度只有幾百個小時。 #include <iostream>#include

編程風格的重要性

前幾天在tctop中看到JULY整理的Google迷你版編程規範,有一點看後覺得實在是非常受用,為此特意寫了一個程式來進一步說明。代碼如下:  #include <boost/timer.hpp> #include <iostream>using namespace boost;using namespace std;class A{ public:A(int data = 1){ ptr = new int; *ptr = data;}void

[記憶體管理]智能指標的好幫手weak_ptr

 weak_ptr是為配合shared_ptr而引入的一種智能指標,它更像是shared_ptr的一個助手,而不是智能指標,因為它不具有普通指標的行為,沒有重載operator*和operator->,它的最大作用在於協助shared_ptr,像旁觀者那樣觀測資源的使用方式。 類摘要:template<class T> class weak_ptr{ public: weak_ptr(); template<class Y> weak_ptr(shared_

[記憶體管理]記憶體池pool庫

 pool庫概述如果之前學過作業系統的記憶體管理機制和記憶體配置演算法等知識,那麼就瞭解“記憶體池”的概念。簡單地說,記憶體池預先分配了一塊大的記憶體空間,然後就可以在其中使用某種演算法實現高效快速的自定製記憶體配置。boost.pool庫基於簡單分配儲存思想實現了一個快速、緊湊的記憶體池庫,不僅能夠管理大量的對象,而且還可以被用作STL的記憶體

[記憶體管理]智能指標與記憶體池的總結

總結:記憶體管理是C++程式開發中永恒的話題,因為沒有記憶體回收機制,小心謹慎地管理記憶體等系統資源是每一個C++開發人員都必須面對面的問題。boost.smart_ptr庫提供了數種新型智能指標,彌補了std::auto_ptr的不足,可以有效地消除new和delete的顯示使用,減少甚至杜絕代碼資源泄漏。scoped_ptr是smart_ptr庫中最容易學習和使用的一個,它的行為與auto_ptr相似,但所有權明確,清晰地表明了這種智能指標只能在聲明的範圍中使用,不能轉讓,任何對它的複製操作

總頁數: 61357 1 .... 19593 19594 19595 19596 19597 .... 61357 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.