运算符重载不影响运算符优先级,赋值是要特别注意先后顺序!i 输出结果分析

来源:互联网 发布:大疆视觉算法笔试题 编辑:程序博客网 时间:2024/06/06 19:57
// class.cpp : 定义控制台应用程序的入口点。
//




#include "stdafx.h"
#include <windows.h>
#include <iostream>
using namespace std; //stdin stdout stderr


class CmyClass_Str
{
public:
unsigned char ucaVocationType[5];
unsigned char ucaAppFlag[5];
unsigned char ucaVarCheck[5];
CmyClass_Str(){}
~CmyClass_Str(){}


};
CmyClass_Str class_center;


int _tmain(int argc, _TCHAR* argv[])
{
unsigned char ucTemp[20]="";
int i=0;


memcpy(class_center.ucaVocationType, "01", 2);
memcpy(class_center.ucaAppFlag,"01", 2);
memcpy(class_center.ucaVarCheck, "4631", 4);
memcpy(ucTemp+(i+=0), class_center.ucaVocationType, 2);
memcpy(ucTemp+(i+=2), class_center.ucaAppFlag,2);
memcpy(ucTemp+(i+=2), class_center.ucaVarCheck,4);

cout<<"ucTemp ["<<ucTemp<<"]"<<endl;


cout<<"_________________i="<<i<<"_____________\n";
cout<<"double i++"<<"\tcout<<i is<<i++<<Now i is<i++<<endl;"<<"\n";
cout<<"i is\t"<<i++<<"\tNow i is\t"<<i++<<endl;

cout<<"_________________i="<<i<<"_____________\n";
cout<<"double ++i"<<"\tcout<<i is<<++i<<Now i is<++i<<endl;"<<"\n";
cout<<"i is\t"<<++i<<"\tNow i is\t"<<++i<<endl;

cout<<"_________________i="<<i<<"_____________\n";
cout<<"double i--"<<"\tcout<<i is<<i--<<Now i is<i--<<endl;"<<"\n";
cout<<"i is\t"<<i--<<"\tNow i is\t"<<i--<<endl;

cout<<"_________________i="<<i<<"_____________\n";
cout<<"double --i"<<"\tcout<<i is<<--i<<Now i is<--i<<endl;"<<"\n";
cout<<"i is\t"<<--i<<"\tNow i is\t"<<--i<<endl;
Sleep(3);
return 0;
}

0 0
原创粉丝点击