拯救你的字串:微有瑕疵的終極救贖

原來的代碼http://blog.csdn.net/zy498420/archive/2010/11/10/5998864.aspx裡面有一個小bug,我一直都沒有注意到,今天不經意間發現:有一個函數的參數少寫了個const修飾,你注意到在哪裡了嗎? 結果發現這個bug其實幫我遮蓋了很多問題,讓我今天又花了大約1小時來解決這些新問題。貼代碼 #include <string>#include <time.h>#include <stdio.h>using

IT人士常犯的17個職場錯誤

http://yunli.blog.51cto.com/831344/169937記得剛參加工作時(那是97年),中國的IT剛剛興起, 那時,作為一個IT人士是一件很光榮的事,而那時的我正在做電氣和電子相關的工作。99年第一次跳槽,進入了IT行業做軟體開發。至今,中國的IT已經走 過了十多年。但昔日的“光榮一員”卻成為了現在的“IT農民工”,這究竟是怎麼了?是中國的IT發展已經很好了所造成的嗎?不是!在我看來中國的IT還比

Ubuntu使用時遇到的問題

ubuntu系統辦公讓我很受傷很受傷啊,word文檔都不會整了1、sudo apt-get update操作時,出現GPG error [...] NO_PUBKEY [...]: 解決:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8BAF9A6F2、"tracker is not in the sudoers file. This incident will be

拯救你的字串 : 完美救贖之終極奧義

引言:我希望看我的文章的朋友都能夠去把My

vc6編譯qt-webkit(4.5.3)

這裡提到的用vc6編譯是指連結vc6的運行庫,用什麼編譯器任我行。主要就是因為別的項目用的是vc6的運行庫,不可能給這個webkit搞特殊,開小灶。 1.請使用icc編譯器。和vc6完美配合。2.把os-win32裡面的東西拷貝到包含路徑檔案夾中,並在cstddef.h中添加ptrdiff_t的std引用。2.解決掉std::min和std::max的問題。放心,這個項目不依賴mfc。不會的自己去查。3.在crt源碼中,找到xmath.h並拷貝到包含路徑檔案夾中。那些安裝綠色版的就自己去找了,吼

該下載i386.rpm還是i686.rpm?

    現在可以直接安裝的rpm軟體包有這麼幾種:*.386.rpm,*.486.rpm,*.586.rpm,*.686.rpm,一般而言,所有X86的處理器都能執行386的指令集。80486處理器那當然需要486的最佳化;Pentium就是586;PentiumPro(P6)之後的統稱為686,它包含了PentiumPro、PentiumⅡ、PentiumⅢ、P4。這裡的i386、i586、i686指的是適用於Intel

矩陣乘的MPI並行程式

計算A * B = C, 其中矩陣A, B均為方陣,採用主從式程式設計模式,使用者從鍵盤輸入矩陣規模N,然後隨機數給矩陣賦值。我的並行化方法很簡單,將矩陣A按行劃分,由主進程將矩陣A散發給各個子進程,各子進程把計算結果發送給主進程匯總。其中的矩陣都是用一維數組來類比的,代碼附上,歡迎拍磚~畢業了,才發現很喜歡並行計算啊~  #include "mpi.h"#include <stdio.h>#include <stdlib.h>#include

core dump和段錯誤

    在代碼量較多時,調試比較困難。常用方法是在源碼中插入大量的printf語句。但是當發生segmentation fault時,定位就比較複雜了。    core dump又叫核心轉儲, 當程式運行過程中發生異常, 程式異常退出時, 由作業系統把程式當前的記憶體狀況儲存在一個core檔案中, 叫core dump, 它可以做為偵錯工具的參考.    有時候程式down了, 但是core檔案卻沒有產生,可以用下面的語句設定一下, 然後再運行程式便成產生core檔案, 或在~/.bashrc 

對volatile int的單寫多讀??

我已經不止一次聽到關於volatile int的安全讀寫方面的謬論了。最常見的是所謂的volatile int的變數的單寫多讀操作是多安全執行緒的。這個結論很搞笑,因為每當支援這個節論的人給我講一大堆諸如鎖匯流排,原子指令方面的東西時,(權且當他們都說的全對)我幾乎都可以反問他:根據你說的東西可以得到一個結論,volatile int是也多線程寫安全的(串列的),volatile int就是原生的訊號量。那些搞並發編程的人難道都是吃飽了撐的,搞什麼鎖來玩的? 好了,談些基本點,基於c語言標準:1

八皇后問題的並行

     八皇后問題:在8×8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一斜線上,問有多少種擺法。八皇后問題的串列    為實現八皇后問題,既每行每列放置一個皇后,而且每一條對角線和每一條反對角線上最多隻能有一個皇后,主要需要解決放置衝突的問題。衝突主要包括行、列、兩條對角線,具體情況如下:    (1)列:規定每一列放一個皇后,不會造成列上的衝突;  

拯救你的字串:永遠沒有終點的補充

其實我還有很多話想說: 測試顯示:測試次數越多,效率提升越小。這應該是因為記憶體的重複分配成為了時間主要開銷的緣故。 由於公用伺服器太快的緣故,伺服器上面的測試次數都是我pc上的10倍或者100倍(不然已耗用時間都小於1秒!)。綜合上面所說的,這也許是有種版本在gcc上的效率提升有限的緣故。 vs2008的效率提升比我原來說的要多,我當時弄成調試版了。有種版本使用的時間是沒種版本的1/3左右!! vc6有種版本大約比vs2008有種版本慢20%,但是雙方都老實使用沒種版本,vs2008所花的時間

input iterator&& output iterator,十個人九個都說不清楚的故事。

我挑"不能"的 說:input iterator:*操作返回常引用,常量操作.總之不可附值,不可修改,不可附值.可以被拷貝,可以比較。 output iterator:*操作是非常量操作,返回引用,總之*操作是改變狀態的.可附值,可修改. 不可比較,不可被拷貝(因為不能實現不修改他就擷取資料,和auto_ptr類似)。有意思的是difference_type被強制禁用,因為不可比較(比較一次值都變了)。 所以forward_iterator和output _terator不是“isa”的關係。 

超越boost: 2)static_assert

static_assert是我認為boost庫中依賴性最小的一個組件。當然對於很多人來說,assert的習慣都還未必能養成,更莫說static_assert,我就還是講解一下。 static_assert:如果傳入一個false或者0,

Jacobi迭代並行演算法

    Jacobi迭代是一種常見的迭代方法,迭代得到的新值是原來舊值點相鄰資料點的平均。串列程式片段如下:    並行化方法之一,可以考慮按列劃分,邊界點新值的計算需要相鄰邊界其它塊的資料,所以在劃分後,每一個資料區塊的兩邊各增加一列,用於存放通訊得到的資料。如:program mainimplicit noneinclude 'mpif.h'! define the size of array, 100 x 100integer, parameter::totalsize = 100,

拯救你的字串

 你還在為string s = str1 + "123" + str2 + str3;這樣的鏈式運算代碼產生的臨時對象,和二次級複雜度(最少的複雜度為str1 長度乘以"+"的個數)而苦惱嗎? 從今天開始起,徹底遠離這些問題吧。 這招我原本以為是自己發明的,還給他取了個名字叫做"操作符代理"(英文翻譯出來居然有關鍵字,歉),結果世間達人早有類似的思想,

nxn棋盤的m皇后問題代碼

http://blog.csdn.net/zhuliting/article/details/6302767去年4月份修改的代碼,現在貼出來分享一下。畢業了,工作上可能會很忙,不能更新部落格了。 #include "mpi.h"#include <stdio.h>#include <string.h>#include <sys/time.h>#include <math.h>#include <iostream>using

成員模版,妙用無窮

從boost的share_ptr取的經. 建構函式不可以是虛函數,但是建構函式可以是成員模板!!!!!很好,我們可以多態建立對象了.(對象不加虛函數但是可以加有虛函數的資料成員,一般最好是函數對象或者函數指標,這樣我們可以在建立時就加鉤子,行為用虛函數封裝,是否太瘋狂?)  #include <iostream>using namespace std;class D{private:class adapter{public:virtual op(D*

拯救你的字串:發給Bjarne的信,大家來幫我評價一下

 Dear Dr Bjarne:                          I'm a student from China. And I have some new ideas about some usual problems,  which I want to share with you.                          I have to apologize for my poor English and some grammar errors which

拯救你的字串:精簡

原來的方法由於要支援播種不得不保留了幾個空函數,這其實是沒有必要的。不過話要說回來,少了他們,筆者我又不得不多重載不少的函數,鬱悶阿。算了吧,支援使用者,提供一個只能掛種子皮但是效率趨向完美的版本(不管你編譯器會不會對空函數inline)。代價是多寫了不少模板函數,和對葉子節點進行了封裝(原來沒有葉子類,現在有了葉子unary_tree_ref,但是葉子不會出現在樹上,效率是沒有損失的,注意觀察哦)。#include <string>#include

拯救你的字串 :種子的外皮

上文http://blog.csdn.net/zy498420/archive/2010/11/09/5998427.aspx提到的“播種”之法需要你手動指定目標類型,稍微還是有點羅嗦(et_seed<std::string>,字母還是挺多的),然而為什麼需要指定呢?原因:如果不指定,最終產生的樹可能根本不知道應該轉換為何種類型,dest_type 未知。 那麼把    inline operator binary_op::dest_type () const;改為      

總頁數: 61357 1 .... 20791 20792 20793 20794 20795 .... 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.