C++ 什么是C++;这个Python切片语句的等效代码?

C++ 什么是C++;这个Python切片语句的等效代码?,c++,code-translation,C++,Code Translation,我正在尝试将以下Python语句翻译为C++: some_数组=[11,22,33,44] 首先,rest=some_数组[0],some_数组[1:] 到目前为止,我得到的是: int array[4] = {11, 22, 33, 44}; vector<int> some_array (array, 4); int first = some_array.front(); vector<int> rest = some_array; rest.erase(rest.

我正在尝试将以下Python语句翻译为C++:

some_数组=[11,22,33,44]
首先,rest=some_数组[0],some_数组[1:]
到目前为止,我得到的是:

int array[4] = {11, 22, 33, 44};
vector<int> some_array (array, 4);
int first = some_array.front();
vector<int> rest = some_array;
rest.erase(rest.begin());
int数组[4]={11,22,33,44};
向量数组(数组,4);
int first=some_array.front();
向量rest=一些_数组;
rest.erase(rest.begin());
  • 如何缩短和/或有效地重写
  • 这可以不使用C++模板和/或向量来编写吗?<李> <> LI>有没有一个在线服务(或软件)将这种非平凡的Python代码片段翻译成人类可读的C++代码?
    • 这是:

      vector<int> rest = some_array;
      rest.erase(rest.begin());
      
      vector rest=some_数组;
      rest.erase(rest.begin());
      
      可缩短为:

      vector<int> rest(some_array.begin() + 1, some_array.end());
      
      向量rest(一些数组.begin()+1,一些数组.end());
      
      如果可以使用C++11,则可以将整个代码缩短为:

      vector<int> some_array { 11, 22, 33, 44 };
      int first = some_array.front();
      vector<int> rest (some_array.begin() + 1, some_array.end());
      
      向量数组{11,22,33,44}; int first=some_array.front(); 向量rest(一些数组.begin()+1,一些数组.end()); 尽管我怀疑这会是一个很大的优势…

      这:

      vector rest=some_数组;
      rest.erase(rest.begin());
      
      可缩短为:

      vector<int> rest(some_array.begin() + 1, some_array.end());
      
      向量rest(一些数组.begin()+1,一些数组.end());
      
      如果可以使用C++11,则可以将整个代码缩短为:

      vector<int> some_array { 11, 22, 33, 44 };
      int first = some_array.front();
      vector<int> rest (some_array.begin() + 1, some_array.end());
      
      向量数组{11,22,33,44}; int first=some_array.front(); 向量rest(一些数组.begin()+1,一些数组.end());
      尽管我怀疑这会是一个很大的优势…

      最简单的方法是

      #include <iostream>
      #include <vector>
      
      using namespace std;
      
      int main() {
          vector<int> arr = {11, 22, 33, 44};
          int first = arr[0];
          vector<int> rest;
      
          for (int i = 1; i < arr.size(); i++) {
              rest.push_back(arr[i]);
          }
      
          return 0;
      }
      
      #包括
      #包括
      使用名称空间std;
      int main(){
      向量arr={11,22,33,44};
      int first=arr[0];
      向量休息;
      对于(int i=1;i
      或者你也可以这样做,

      #include <iostream>
      #include <vector>
      
      using namespace std;
      
      int main() {
          vector<int> arr = {11, 22, 33, 44};
          int first = arr[0];
          vector<int> rest(arr.begin() + 1, arr.end());
      
          return 0;
      }
      
      #包括
      #包括
      使用名称空间std;
      int main(){
      向量arr={11,22,33,44};
      int first=arr[0];
      向量休息(arr.begin()+1,arr.end());
      返回0;
      }
      
      最简单的方法是

      #include <iostream>
      #include <vector>
      
      using namespace std;
      
      int main() {
          vector<int> arr = {11, 22, 33, 44};
          int first = arr[0];
          vector<int> rest;
      
          for (int i = 1; i < arr.size(); i++) {
              rest.push_back(arr[i]);
          }
      
          return 0;
      }
      
      #包括
      #包括
      使用名称空间std;
      int main(){
      向量arr={11,22,33,44};
      int first=arr[0];
      向量休息;
      对于(int i=1;i
      或者你也可以这样做,

      #include <iostream>
      #include <vector>
      
      using namespace std;
      
      int main() {
          vector<int> arr = {11, 22, 33, 44};
          int first = arr[0];
          vector<int> rest(arr.begin() + 1, arr.end());
      
          return 0;
      }
      
      #包括
      #包括
      使用名称空间std;
      int main(){
      向量arr={11,22,33,44};
      int first=arr[0];
      向量休息(arr.begin()+1,arr.end());
      返回0;
      }
      
      这不是python的问题。请用英语描述您的请求。有
      splice
      用于列表开始阅读参考。您关心性能、可读性还是方便性?@lifebalance这是错误的。这不是python问题。请用英语描述您的请求。列表有
      splice
      通过阅读参考资料开始。您关心性能、可读性还是方便性?@lifebalance这是错误的。