我编写了以下代码,试图了解如何使用指向数组和数组引用的指针.这是我对正在发生的事情的思考过程.
arr与数组的第一个元素的地址相同.*arr给我这个位置的int是什么样的arr[0].p是一个指针,并被分配arr,这是第一个元素的地址.所以本质上*p是相同的*arr,p[0]也是相同的arr[0].arrPtr是一个指向十个整数数组的指针.为什么没有*arrPtr或arrPtr[0]给我9的价值?arrRef是对十个整数数组的引用,与上面的点不同,*arrRef或者arrRef[0]产生值9.这是我的代码:
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
int main() {
int arr[10] = {9, 18, 31, 40, 42};
cout << "arr: " << arr << endl;
cout << "*arr: " << *arr << endl;
cout << "arr[0]: " << arr[0] << endl;
cout << endl;
int …Run Code Online (Sandbox Code Playgroud) 为了使用字符串,我需要包含字符串头,以便它的实现可用.但如果是这样,为什么我仍然需要添加线using std::string?
为什么它不知道字符串数据类型?
#include <string>
using std::string;
int main() {
string s1;
}
Run Code Online (Sandbox Code Playgroud)