与C++中的Null相比

Mp *_*ega 5 c++ null operators

好的,请仔细检查下面的代码,它只是函数的一部分

void RepeatWord(){
    system("cls");
    string word = NULL;
    string newword = NULL;
    int repeats = 0;
    while(true){
        if(word == NULL){
            cout<<"Currently no word is stored..";
            cout<<"\n\nPlease enter a word: ";
            cin>>word;
        }
....
Run Code Online (Sandbox Code Playgroud)

好吧,我一直在使用其他编程语言,我总是与一个NULL值进行比较,但在C++ ...它似乎是一个不同的情况.错误说..

错误:'word == 0'中的'operator =='不匹配

好吧,我想知道我只是比较一个NULL,我真的不知道为什么这是错的.比较一个值与一个NULLC++是不同的?请教我.谢谢

注意:我比java知道更多ruby

Alo*_*ave 8

您正在尝试比较对象NULL,您无法将对象与a进行比较NULL.你需要比较一个指针.在这样做时,您检查指针是否指向不是有效对象的东西.

在您的情况下,您想检查是否std::string为空.您可以使用提供的成员函数std::string,std::string::empty().

考虑到你的问题,我强调需要一本好的学习书:

最终C++书籍指南和列表

  • @Mahan与stl的c ++点是你不需要指针. (2认同)