假设我有以下代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string disectedString[5];
disectedString[0] = "011001";
string temp = disectedString[0];
string print = temp[0];
return 0;
}
所以我要从字符串数组中选择一个元素,然后将其分配给temp变量。从那里,我想从temp变量中选择第一个元素(第一个字符)。我将如何去做?
答案 0 :(得分:2)
您的直觉在大多数情况下是有效的:您使用方括号运算符[]
访问集合或序列中索引位置的元素。因此
disectedString[0]
的意思是“ disectedString的第一个元素”; temp[0]
的意思是“温度的第一个元素”; 正如评论者和@ demogorgon.net的答案所解释的那样,您混淆的是类型。
现在,使用现代C ++,您可以“玩笨蛋”,而不必声明您知道的类型:
std::string disectedString[5];
disectedString[0] = "011001";
auto temp = disectedString[0];
auto print = temp[0];
请注意使用auto
而不是特定的类型名称。这将按您希望的那样工作。然后,您可以使用use print
,并执行以下操作:
std::cout << print;
,这将输出0
。
顺便说一句,我相信您应该重新考虑对名称的选择:
print
指的是打印事物的函数或方法;如果您想简短一点,我建议first_character
或char_to_print
或c
。temp
不再是临时变量,例如print
。disectedString
变量不是字符串,而是字符串数组,这很令人困惑。答案 1 :(得分:1)
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>3.4.0</version>
</dependency>
在许多方面的行为类似于string
的数组(*)。您需要将char
的类型设置为print
,而不是char
,因为您试图从string
获取特定元素。因此,您的string
应该如下所示:
print
(*),但实际上要复杂得多。
这是一个prints the output的代码示例。