根据http://flamingdangerzone.com/cxx11/2012/07/06/optimal-tuple-i.html,关于std :: tuple ...
libstdc ++总是以相反的顺序放置成员,而libc ++总是按给定的顺序放置成员
假设这是真的,有没有理由(历史或其他)为什么libstdc ++使用逆序?
额外奖励:是否有任何实现因任何原因改变了其std :: tuple排序?
这段代码有什么问题?无论我的字符串实际上是更长还是更短,输入在我的函数测试中总是长度为4.
#include <iostream>
#include <string>
using namespace std;
void test(char arr[]){
string input;
input = arr[0];
for (int i=1; i<sizeof(arr)/sizeof(char); i++){input=input+arr[i];}
cout << input << endl;
cout << "length: " << input.length() << endl;
}
int main(){
string input;
cout << "String: " << endl;
getline(cin, input);
char arr[input.length()];
for(int i=0; i<input.length(); i++) {arr[i] = input[i];}
test(arr);
}
Run Code Online (Sandbox Code Playgroud)