自寫簡化版std string

2021-06-27 08:35:58 字數 1046 閱讀 4377

題記

以下為c++的std::string 簡化版,功能很簡單。

參考:c++ primer 第三版

注意點:

1、在operator =(string& str), 不需要判斷str是否為空。但是需要判斷str是否和當前str相等。

2、返回值:在operator的大部分操作中,返回的是引用。(減少了一次拷貝:

3、以下**在vc6.0下能夠正常執行,測試通過。

#include #include namespace zpstring;//

string::string()

string::string(char* pstr)

string::string(string& str)

string::string(string* pstr)

string::~string()

string& string::operator=(char*pstr)

else

return *this;

} string& string::operator=(string& str)

string& string::operator+(string& str)

bool string::operator==(string& str)

char& string::operator(int pos)

inline bool string::empty()

inline int string::length()

inline const char* string::c_str() }

int main(void)

{ zpstring::string str_1;

zpstring::string str_2("test");

zpstring::string str_3(str_2);

zpstring::string str_4(&str_3);

str_1 = "hello";

std::cout<<"str_1 val:"<

報表製作簡化版

機房收費系統無論是重構還是第一版,都用到了報表,為什麼在乙個系統中要新增報表呢?報表的作用是什麼呢?報表百科。我理解的報表是 向上級報告情況的乙個媒介,沒有固定的格式。之前在專案中,我們真正給企業做過一次報表,是以匯出word的形式生成的,大概格式如圖 這次在自己的 機房收費系統 中設計報表,我使用...

飛機大戰 簡化版

import pygame from pygame.locals import import random import time class herobullet def init self,x,y,windows self.x x self.y y self.windows windows se...

簡化版桶排序

例 讓計算機隨機讀入 5個數然後將這 5個數從大到小輸出 輸入 5 3 5 2 8 輸出 8 5 5 3 2 思路 先申請乙個大小為 11 的陣列 int a 11 現在你已經有了 11 個變數,編號從 a 0 a 10 剛開始,我們將 a 0 a 10 都初始化為 0,表示這些0 10的數字還沒出...