C++自實現string

要求自實現string的基本函數,建構函式,解構函式等,緣分呐,不得不認真對待一下,回來仔細查了下,總結一下:C++實現的代碼#include<iostream.h>class string{public:string(const char*str=NULL);//注意指標常量和常量指標的區別,const在前表示是常量(指標)而不//是指標常量string(const string&other);~string();string&operator=(const

[轉載]c/c++/VC程式員-筆試題)

 來自:http://hi.baidu.com/litomboy/blog/item/08dade95a32c3148d0135e38.html其他http://www.zeliu.com/digg_view.asp?id=112題1:編寫一個函數,作用是把一個char組成的字串迴圈右移n個。比如原來是“abcdefghi”如果n=2,移位後應該是“hiabcdefgh”  函數頭是這樣的://pStr是指向以''結尾的字串的指標//steps是要求移動的nvoid LoopMove (

C++輸入一行字串的一點小結

 大家在學習C++編程時,一般在輸入方面都是使用的cin.而cin是使用空白(空格,定位字元和分行符號)來定字串的界的。這就導致了對於帶有空格的字串,比如”I Love syc109.blog.163.com”只能讀入”I”,後面的都無法讀入。這時怎麼辦?一.對於字元數組:方法一:getline()讀入整行資料,它使用斷行符號鍵輸入的分行符號來確定輸入結尾。調用方法: cin.getline(str, len);第一個參數str是用來儲存輸入行的數組名稱,第二個參數len是要讀取的字元數。1 #

C語言:記憶體位元組對齊詳解[轉載]

一、什麼是對齊,以及為什麼要對齊:1. 現代電腦中記憶體空間都是按照byte劃分的,從理論上講似乎對任何類型的變數的訪問可以從任何地址開始,但實際情況是在訪問特定變數的時候經常在特定的記憶體位址訪問,這就需要各類型資料按照一定的規則在空間上排列,而不是順序的一個接一個的排放,這就是對齊。2. 對齊的作用和原因:各個硬體平台對儲存空間的處理上有很大的不同。一些平台對某些特定類型的資料只能從某些特定地址開始存取。其他平台可能沒有這種情況, 但是最常見的是如果不按照適合其平台的要求對資料存放進行對齊,

幫你解析複雜的C語言聲明

      很多C/C++的初學者,常常被一些複雜的聲明語句弄得暈頭轉向,滿頭霧水。比如說:char *(*(*a[])())(),這個聲明是什麼意思呢?     不用抓耳撓腮,在linux環境下,有一個工具能幫我們解析,它就是cdecl 。它能在C/C++聲明和英語間轉換。讓我們先看看man cdecl裡的描述吧:DESCRIPTION       Cdecl  (and c++decl) is a program for encoding and decoding C (or C++)

與全域變數構造析構順序有關的一道面試題(C++)

題目是#include  <iostream> int  main(){    std::cout<<"This is in main"<<std::endl;    return 0;}如何在不修改上述代碼中mian()裡面的部分,使輸出的內容為:StartThis is in

核心IPSec代碼中xfrm_input.c中關於kmem_cache_alloc的流量分析

基本知識:在核心編程中,可能經常會有一些資料結構需要反覆使用和釋放,按照通常的思路,可能是使用kmalloc和kfree來實現。但是這種方式效率不高,Linux為我們提供了更加高效的方法——Slab快取管理器。動態建立固定大小的記憶體對象,雖然kmalloc的時間複雜度並不大,但是聯絡到空間複雜度,還是採用kmem_cache_alloc的好;而非固定大小的記憶體申請,只能經由kmalloc來解決。 xfrm_input.c中關於kmem_cache_alloc的代碼:(按檔案中代碼的順序) 先

C++技巧之名字空間namespace

  C的開發人員會經常使用#define,即用宏來聲明常量,但宏卻是全域的,對大的工程很難維護,經常是導致名字衝突。還好,C++給我們帶來了namespace名字空間。它的使用如下,名字空間可以把一組邏輯分組,同時名字空間也是一種範圍。view plaincopy to

沒事做,玩C++…

/********************************** 雙色球自動選號**********************************/#include <cmath>#include <iostream>#include <ctime>using namespace std;int main(){ int *A = new int[6]; srand((unsigned int)time(0));

學習C/C++應該看的書

C++/OPP/OOD系列:層級一:文法/語意(C++)[Lippman2000] Essential C++Essential C++,by Stanley B. Lippman Addison Wesley Longman 2000,276 pagesEssential C++ 中文版 ,侯俊傑 譯,282頁  [Gregory95] C++:The Core Language C++:The Core Language by Gregory Satir 1995

C/C++中回呼函數初探

  簡介  對於很多初學者來說,往往覺得回呼函數很神秘,很想知道回呼函數的工作原理。本文將要解釋什麼是回呼函數、它們有什麼好處、為什麼要使用它們等等問題,在開始之前,假設你已經熟知了函數指標。

將類成員函數用作C回呼函數

將類成員函數用做C回呼函數提出問題:     回呼函數是基於C編程的Windows SDK的技術,不是針對C++的,程式員可以將一個C函數直接作為回呼函數,但是如果試圖直接使用C++的成員函數作為回呼函數將發生錯誤,甚至編譯就不能通過。分析原因:   

對C++異常處理的討論

源自CSDN討論貼:http://topic.csdn.net/t/20060525/10/4777451.html 樓主cuipy(崔鵬宇)2006-05-25 10:51:58 在 C/C++ / C++ 語言 提問    我用try{正常代碼執行}catch(...){處理},來處理異常,但為什麼到出錯的地方還是出錯呢?       我看了資料說要在異常發生的時候自己拋出,那我要知道那裡出現異常,我還不解決了丫?感覺不靠譜,望指教這個異常到底怎麼處理。1

C陷阱和缺陷

 1、誤將十進位數寫成八進位測試:    int i = 10;              int j = 010;              int p = 0x10;               printf("i = %d/n", i);              printf("j = %d/n", j);              printf("p = %d/n", p); 2、’yes’和”yes”的混淆使用測試:printf("%c/n", '12');註解:在BorlandC+

用C宏寫的泛型棧

下面的這個東東是我用C宏寫的,在DEV C++4.9.9.0下編譯通過. 這個是標頭檔"stack.h" ======================================================================#ifndef AVALON_STACK_H #define AVALON_STACK_H #include <stdio.h>#include <string.h>#include

《c++ primer》讀書筆記5

筆記範圍:2.1節到2.2節 很多人都會覺得第二章很難,作者在第一篇的引言中也提到:如果讀者覺得第二章的內容難以理解,就跳過他。而個人認為這樣做不是最好的選擇,事實上,第一篇的目的在於對這語言有個很好的整體的理解,思維上的習慣,方法論的形成才是本章的重點,前面這些廢話,是對我們將要面對的難度以及我們要採取的態度作一個簡單的說明和建議,我們在第一章中學的那些東西,都是比較現成的、可以直接使用的、在用的過程中不太會受到文法上的限制的東西,我想大家還記得我在讀到資料類型的時候,有過一個疑問:為什麼那個

《C++捷徑教程》讀書筆記–Chapter 11–類(第五部分)

//--《C++捷徑教程》讀書筆記--Chapter 11--類(第五部分)//--Chapter 11--類//--03/15/2006 Wed.//--Computer Lab//--Liwei //--程式#5  queuq#include <iostream>using namespace std;class widget{ int i; int j; int k;public: widget(int a,int b,int c=999); void put_widget()

《C++捷徑教程》讀書筆記–Chapter 18–C++的I/O系統–3

//--《C++捷徑教程》讀書筆記--Chapter 18--C++的I/O系統//--Chapter 18--C++的I/O系統//--10/15/2006 Sun.//--Computer Lab//--Liwei//說明提取符的用法,使用友員#include <iostream>using namespace std;class three_d{ //int x,y,z;public: int x,y,z; three_d(int a, int b, int c){ x=a;

《C++捷徑教程》讀書筆記–Chapter 12–類的深入學習(第一部分)

//--《C++捷徑教程》讀書筆記--Chapter 12--類的深入學習(第一部分)//--Chapter 12--類的深入學習//--03/31/2006 Friday//--Computer Lab//--Liwei //--程式#1  use friend function#include <iostream>using namespace std;class myclass{ int a,b;public: myclass(int i, int j) { a=i; b=j;

《CSDN社區電子雜誌——C/C++雜誌》創刊號發布!

在C/C++雜誌編輯團隊和許多關心這本雜誌的網友的共同努力下,《CSDN社區電子雜誌——C/C++雜誌》創刊號順利出刊,現在正式發布!讓我們對他們的辛勤工作表示衷心的感謝!為雜誌創刊號做出貢獻的編輯和作者包括:(按字母順序)ALNG,babysloth,carbon,cpluser,HappyParrot,jack,Jinhao,kxn,laomai,Polarislee,steedhorse,tangtao,taowen,zhangyv最後我們要感謝大家一直以來對C/C++電子雜誌的大力支援!

總頁數: 4314 1 .... 2987 2988 2989 2990 2991 .... 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.