Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.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
C++ 初始化和比较向量c++;_C++_Vector_Constructor_Compare - Fatal编程技术网

C++ 初始化和比较向量c++;

C++ 初始化和比较向量c++;,c++,vector,constructor,compare,C++,Vector,Constructor,Compare,我是新手。我有两个问题 首先,我尝试用以下格式初始化向量: vector<string> v = {"plan", "man", "canal"}; 第二,守则的运作方式如下: 它接受输入并将其存储在向量中当输入终止时,for循环会比较两个向量,并根据向量元素是否匹配返回true或false 所以我的问题是:有没有更简单或更清晰的方法来写这个?因为如果没有匹配项,嵌套for循环只会打印两次单词。C++98没有initializer\u list或构造函数。为什么不使用当前的标准进

我是新手。我有两个问题

首先,我尝试用以下格式初始化向量:

vector<string> v = {"plan", "man", "canal"}; 
第二,守则的运作方式如下: 它接受输入并将其存储在
向量中
当输入终止时,
for循环
会比较两个向量,并根据向量元素是否匹配返回true或false


所以我的问题是:有没有更简单或更清晰的方法来写这个?因为如果没有匹配项,嵌套for循环只会打印两次单词。

C++98没有
initializer\u list
或构造函数。为什么不使用当前的标准进行编译呢?我已经尝试为我的文本编辑器sublime text获取当前的构建系统(c++14),但是我找不到它。我发现的那些不会在bash终端上构建,所以我决定暂时遵循它,而不是拖延学习。C++98和C++11之间的区别是巨大的。我强烈建议至少使用C++11。C++ 98的许多最佳实践已经过时了,甚至是错误的,因为C++ 11。@ NoNeSoTuTo这就是为什么我坚持学习C++ 98标准——所以你让一个Bug IDE和/或文本编辑器决定你将如何学习C++?嗅嗅我嗅到一个StruouToup挑战:)。我认为不喜欢的词需要是单独的字符串。假设这是第125页,如果我没记错的话,他在说明书中暗示了这一点。在这本书的早期阶段,他没有介绍任何访问向量元素的复杂方法。C++98没有
初始值设定项列表
或构造函数。为什么不使用当前的标准进行编译呢?我已经尝试为我的文本编辑器sublime text获取当前的构建系统(c++14),但是我找不到它。我发现的那些不会在bash终端上构建,所以我决定暂时遵循它,而不是拖延学习。C++98和C++11之间的区别是巨大的。我强烈建议至少使用C++11。C++ 98的许多最佳实践已经过时了,甚至是错误的,因为C++ 11。@ NoNeSoTuTo这就是为什么我坚持学习C++ 98标准——所以你让一个Bug IDE和/或文本编辑器决定你将如何学习C++?嗅嗅我嗅到一个StruouToup挑战:)。我认为不喜欢的词需要是单独的字符串。假设这是第125页,如果我没记错的话,他在说明书中暗示了这一点。在这本书的早期阶段,他没有介绍任何访问向量元素的复杂方法。
#include "library/std_lib_facilities.h"

int main() 
{
    vector<string> disliked;
    disliked.push_back("gin");
    disliked.push_back("beer");
    vector<string> words; 
    for(string word; cin >> word;) 
        words.push_back(word);
    for(int i = 0; i < words.size(); ++i) {
        bool match = false; 
        for(int x = 0; x < disliked.size(); ++x) {
            if(disliked[x] == words[i])
                match = true;
        }
        if(match) 
            cout << "BLEEP!!" << '\n';
        else
            cout << words[i] << '\n';
    }
}