用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回

来源:互联网 发布:mac safari 视频缓存 编辑:程序博客网 时间:2024/04/30 14:14

很简单的一个题目,但是有很多细节要注意:

#include <iostream>#include <string>using namespace std;string revert(string a){    int temp;    int alen=a.length();    cout << alen;    for(int i=0;i<alen/2;i++)    {temp = a[i];a[i] = a[alen-1-i];a[alen-1-i] = temp;    }    return a;}int main(){    string str2;    string str1("abcde");    str2 = revert(str1);    cout << str2 << endl;    return 0;    }

相关知识:

C++ string 的长度

cout << str.size() << endl;cout << str.length() << endl;

空类占用空间:

#include <iostream>#include <string>using namespace std;class A{};class A2{};class B:public A{};class C:public virtual B{};class D:public A,public A2{};int main(){    cout<<"sizeof(A): "<<sizeof(A)<<endl;    cout<<"sizeof(B): "<<sizeof(B)<<endl;    cout<<"sizeof(C): "<<sizeof(C)<<endl;    cout<<"sizeof(D): "<<sizeof(D)<<endl;    return 0;}

结果是1,1,8,1 (my ubuntu 是64位)

A,A2是空类,B为单一继承类,C为虚继承(涉及到虚表和虚指针,所以位数为8),D为多继承类

0 0
原创粉丝点击