一、C和C++中的结构体不同
1.C++对struct关键字进行了增强:如下代码
struct info
{
int a;
};
int main(int argc,char *argv[])
{
info data;//在c中这样定义变量编译通不过,必须要加上struct,而在c++中这样是允许的
return 0;
}
2.C++中可以使用构造函数对结构体成员进行初始化,而C中不可以
struct info
{
int a;
info(int x):a(x){} //在c++中允许这样对成员变量初始化,而c中不允许
};
3.C++中可以定义析构函数,而C中不可以
struct info
{
int a;
info(int x):a(x){} //在c++中允许这样对成员变量初始化,而c中不允许
~info(){}
};
4.C++中类是由结构体衍变而来,因此对类的各种重载,友员操作对结构体同样适用。但是在类中如果不声明为public类型,默认是private。而在结构体中默认为public,这里就不做测试,有兴趣的可以自己测试。
二、vector数组用法
https://blog.csdn.net/weixin_41743247/article/details/90635931
三、习题
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:1327261
本题知识点: 链表
题目描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
解答:
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
ListNode*p=head;
vector<int>array;
while(p!=NULL){
array.push_back(p->val);
p=p->next;
}
reverse(array.begin(),array.end());
return array;
}
};
声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。