有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将java转换为C++

在爪哇

public int compareTo2(String that) {
    String sig1 = this.sort();
    String sig2 = that.sort();
    return sig1.compareTo(sig2);
}

在C中++

int compareTo2 (string that) {
    string sig1 = this.sort();
    string sig2 = that.sort();
    return strcmp(sig1,sig2);
}

第一个是Java程序。我把它翻译成C++程序。我写对了吗?谢谢


共 (2) 个答案

  1. # 1 楼答案

    strcmp()不接受字符串;你需要使用

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

    为了对字符串进行排序,需要#include <algorithm>,然后可以调用

    std::sort(sig1.begin(), sig1.end());
    

    整理你的字符串

    我还建议您使用strncmp()方法并给出最大长度。它比strcmp()安全得多

  2. # 2 楼答案

    • this是一个指针,因此它必须与this->item_I_want解除引用 不管怎样,在C++类中,LI> ^ {CD1}}通常是可选的;编译器知道item_I_want在方法中的含义
    • 对于C++ strings,没有sort()方法
    • strcmp()需要C字符串(char*);你可以用strcmp(sig1.c_str(),sig2.c_str())来称呼它 C++中字符串比较的更好方法是简单的^ {CD9}},它返回布尔值。<李>