string의 경우 일반 클래스만큼의 속도차이는 없었음

그래도 레퍼런스가 조금 더 빠름

그리고 같은 작업했을때 string이 CString보다 훨씬 빠름 헤헤

-----------------------MFC-------------------
void func3(CString s){
        s+=_T("k");
        s=_T("");
}

void func4(CString& s){
        s+=_T("k");
        s=_T("");
}

void CChildView::OnLButtonDown(UINT nFlags, CPoint point)
{
        CDC* pDC=GetDC();
        CString tmp=_T("");

        time_t start3=time(NULL);
        CString s3;
    for(int i=0;i<99999999;i++){
            func3(s3);
    }
    time_t end3=time(NULL);
        tmp.Format(_T("value 시간 : %I64d초"),end3-start3);
        pDC->TextOut(10,10,tmp);
        
        time_t start4=time(NULL);
    CString s4;
    for(int i=0;i<99999999;i++){
            func4(s4);
    }
    time_t end4=time(NULL);
        tmp.Format(_T("Reference 시간 : %I64d초"),end4-start4);
        pDC->TextOut(10,100,tmp);

        ReleaseDC(pDC);
        CWnd::OnLButtonDown(nFlags, point);
}






--------------------C+------------------------

#include <iostream>
#include <time.h>

using namespace std;

void func3(string s){
        s+="k";
        s="";
}

void func4(string& s){
        s+="k";
        s="";
}

int main()
{
    time_t start3=time(NULL);
    string s3;
    for(int i=0;i<99999999;i++){
            func3(s3);
    }
    time_t end3=time(NULL);
    cout<<"Value 시간 : "<<end3-start3<<"초"<<endl;

    time_t start4=time(NULL);
    string s4;
    for(int i=0;i<99999999;i++){
            func4(s4);
    }
    time_t end4=time(NULL);

    cout<<"Reference 시간 : "<<end4-start4<<"초"<<endl;
}