Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将java转换为c++;_Java_C++ - Fatal编程技术网

将java转换为c++;

将java转换为c++;,java,c++,Java,C++,在爪哇 在C中++ public int compareTo2(String that) { String sig1 = this.sort(); String sig2 = that.sort(); return sig1.compareTo(sig2); } 第一个是Java程序。我把它翻译成C++程序。我写对了吗?谢谢。 此是一个指针,因此它必须与此->我想要的项目解除引用 代码>此< /COD>通常是C++类中的可选选项;编译器知道在方法中使用item\u I\

在爪哇

在C中++

public int compareTo2(String that) {
    String sig1 = this.sort();
    String sig2 = that.sort();
    return sig1.compareTo(sig2);
}
第一个是Java程序。我把它翻译成C++程序。我写对了吗?谢谢。

  • 是一个指针,因此它必须与
    此->我想要的项目解除引用
  • <>代码>此< /COD>通常是C++类中的可选选项;编译器知道在方法中使用
    item\u I\u want
    意味着什么
  • 没有用于的
    sort()
    方法
  • strcmp()
    需要C字符串(
    char*
    );您可以使用strcmp(sig1.c_str(),sig2.c_str())调用它。
  • C++中比较字符串的方法简单地是<代码> SIG1= = SIG2,返回布尔值。
      • 是一个指针,因此它必须与
        此->我想要的项目解除引用
      • <>代码>此< /COD>通常是C++类中的可选选项;编译器知道在方法中使用
        item\u I\u want
        意味着什么
      • 没有用于的
        sort()
        方法
      • strcmp()
        需要C字符串(
        char*
        );您可以使用strcmp(sig1.c_str(),sig2.c_str())调用它。
      • C++中比较字符串的方法简单地是<代码> SIG1= = SIG2,返回布尔值。
      假设使用
      string
      您谈论的是
      std::string

      std::string
      不提供名为
      sort
      的成员。您应该使用
      std::sort

      int compareTo2 (string that) {
          string sig1 = this.sort();
          string sig2 = that.sort();
          return strcmp(sig1,sig2);
      }
      
      strcmp
      被认为与
      const char*
      s一起使用,因此您必须编写:

      std::sort(sig2.begin(), sig2.end());
      
      最后,
      必须取消对该
      的引用:

      return strcmp(sig1.c_str(), sig2.c_str());
      

      假设您使用
      string
      谈论
      std::string

      std::string
      不提供名为
      sort
      的成员。您应该使用
      std::sort

      int compareTo2 (string that) {
          string sig1 = this.sort();
          string sig2 = that.sort();
          return strcmp(sig1,sig2);
      }
      
      strcmp
      被认为与
      const char*
      s一起使用,因此您必须编写:

      std::sort(sig2.begin(), sig2.end());
      
      最后,
      必须取消对该
      的引用:

      return strcmp(sig1.c_str(), sig2.c_str());
      

      我想你要确定两个字符串,它们各自的字符按字母顺序排列是否相等

      当你在做一些奇怪的事情时,你的两个函数都不起作用

    • java.lang.String
      没有
      sort()
      。您必须将字符串转换为
      char[]
      ,然后对该数组进行排序,然后将其转换回
      字符串
    • <>代码> STD::C++中的字符串没有<代码> SoTo()/<代码>。您必须使用
      std::sort()
      <>代码> STD::C++中的字符串可以与 >= 进行比较
    • 您正在Java中调用
      this.sort()
      ,这是什么

    • 我想你要确定两个字符串,它们各自的字符按字母顺序排列是否相等

      当你在做一些奇怪的事情时,你的两个函数都不起作用

    • java.lang.String
      没有
      sort()
      。您必须将字符串转换为
      char[]
      ,然后对该数组进行排序,然后将其转换回
      字符串
    • <>代码> STD::C++中的字符串没有<代码> SoTo()/<代码>。您必须使用
      std::sort()
      <>代码> STD::C++中的字符串可以与 >= 进行比较
    • 您正在Java中调用
      this.sort()
      ,这是什么
    • strcmp()
      不接受字符串;你需要使用

      std::string sig1 = this->sort();
      
      为了对字符串进行排序,您需要
      #include
      ,然后可以调用

      strcmp(sig1.c_str(), sig2.c_str());
      
      对字符串进行排序

      我还建议您使用
      strncmp()
      方法并给出最大长度。它比strcmp()不带字符串要安全得多;你需要使用

      std::string sig1 = this->sort();
      
      为了对字符串进行排序,您需要
      #include
      ,然后可以调用

      strcmp(sig1.c_str(), sig2.c_str());
      
      对字符串进行排序

      我还建议您使用
      strncmp()
      方法并给出最大长度。它比strcmp()安全得多,至少可能不是。首先,
      std::string
      没有
      sort
      作为成员函数,因此您可能会使用
      std::sort
      。其次,不能将
      std::string
      传递给
      strcmp
      。您可以使用
      c_str
      成员函数,也可以直接使用普通运算符比较字符串(尽管这只提供双向比较,而不是
      strcmp
      的三向结果)。第三,您的代码似乎依赖于从标准字符串类继承(或以其他方式扩展),这很少是一个好主意

      std::sort(sig1.begin(), sig1.end());
      
      bool compareTo2(std::string a,std::string b){
      排序(a.begin(),a.end());
      排序(b.begin(),b.end());
      返回a
      编辑:注意,这采取了一个稍微不寻常的步骤,即按值传递字符串。我们需要原始字符串的副本,这样我们就可以在不修改原始字符串的情况下对其进行排序,所以我只是通过传递值来获取副本,然后将收到的副本作为参数进行排序。

      否--至少可能不会。首先,
      std::string
      没有
      sort
      作为成员函数,因此您可能会使用
      std::sort
      。其次,不能将
      std::string
      传递给
      strcmp
      。您可以使用
      c_str
      成员函数,也可以直接使用普通运算符比较字符串(尽管这只提供双向比较,而不是
      strcmp
      的三向结果)。第三,您的代码似乎依赖于从标准字符串类继承(或以其他方式扩展),这很少是一个好主意

      std::sort(sig1.begin(), sig1.end());
      
      bool compareTo2(std::string a,std::string b){
      排序(a.begin(),a.end());
      排序(b.begin(),b.end());
      返回a
      编辑:注意,这采取了一个稍微不寻常的步骤,即按值传递字符串