【C++学习笔记】类型组合
来源:互联网 发布:涂鸦智能 知乎 编辑:程序博客网 时间:2024/05/16 06:35
一、结构
1、创建结构
struct antarctica_years_end{int year;}
2、创建结构的变量
antarctica_years_end s01,s02,s03;
3、使用运算符访问其成员
s01.year = 1998;
4、创建指向结构的指针
antarctica_years_end * pa = &s02;
5、将该指针设置为有效地址后,使用间接成员运算符来访问成员
pa->year = 1999;
6、可创建结构数组
antarctica_years_end trio[3];
7、使用成员运算符访问元素的成员
trio[0].year = 2003;
8、其中trio是一个数组,而trio[0]是一个结构,而trio[0].year是该结构的一个成员。由于数组名是一个指针,因此也可使用间接成员运算符
(trio+1)->year = 2004;
9、可以创建指针数组
const antarctica_year_end * arp[3] = {&s01, &s02, &s03};
(1)访问成员
std::cout << arp[1]->year << std::endl;
(2)创建指向上述数组的指针
const antarctica_years_end ** ppa = arp;
其中arp是一个数组的名称,因此它是第一个元素的地址。但其第一个元素为指针,因此ppa是一个指针,指向一个指向const antarctica_years_end的指针。
这种声明很容易出错,因此C++11版本提供了auto
auto ppb = arp;
(3)如何使用ppa来访问数据
std::cout << (*ppa)->year << std::endl;std::cout << (*(ppb+1))->yera << std::endl;
二、例子
#include <iostream>struct antarctica_years_end{int year;};int main(){using namespace std;antarctica_years_end s01, s02, s03;s01.year = 1998;antarctica_years_end * pa = &s02;pa->year = 1999;antarctica_years_end trio[3];trio[0].year = 2003;std::cout << trio->year << std::endl;const antarctica_years_end * arp[3] = {&s01, &s02, &s03};std::cout << arp[1]->year << std::endl;const antarctica_years_end ** ppa = arp;auto ppb = arp;std::cout << (*ppa)->year << std::endl;std::cout << (*(ppb+1))->year << std::endl;cin.get();return 0;}
0 0
- 【C++】学习笔记十二——类型组合
- 【C++学习笔记】类型组合
- Object-C学习笔记四-----组合
- OBJ-C组合模式学习笔记
- OBJ-C组合模式学习笔记
- C/C++学习笔记28:类型转换
- Objective-C学习笔记-之布尔类型
- C语言学习笔记 类型修饰符
- C语言学习笔记 lesson3 整数类型
- c++primer学习笔记-----2.3复合类型
- c++primer学习笔记-----2.5处理类型
- C++primer学习笔记-----4.11类型转换
- C/C++学习笔记-标准库类型
- OC学习笔记(8)Object-C组合使用
- Python学习笔记·组合类型(文件操作和字典类型)
- C语言学习笔记(4)类型转化,复合类型
- OBJ-C动态类型&静态类型学习笔记
- 广义组合(学习笔记)
- 八数码问题的初次解决(康托展开+bfs)
- 缓存原理及优缺点
- First Missing Positive
- 1033. 旧键盘打字(20)
- 计算长方形的周长和面积(类和对象)
- 【C++学习笔记】类型组合
- C++实验4-输出星号图
- Leetcode-142. Linked List Cycle II
- 2016第七届蓝桥杯剪邮票
- hibernate持久态数据自动更新的执行过程
- 非阻塞socket
- 夜空里的风筝
- 2017最新超星尔雅 意大利文化 答案题库
- vim的配置和相关补丁的安装