我正在编写一个程序,它可以接受命令行参数,并使用自定义比较器按字母数字顺序将它们打印出来。
在此过程中,我卡在了如何将命令行参数插入std::set
容器上。查看了一些类似代码,发现了以下内容:
std::set<char*, decltype(customComparator)> args (argv, argv+argc, customComparator)
argv + argc
参数是什么意思/做什么?
当我尝试插入cmd参数时,例如:
std::set<char*, decltype(customComparator)> args (argv, customComparator)
在argv
参数上有一个红色的波浪线。
argv + argv
相当于std::end(argv)
,但这样不会编译通过。 - πάντα ῥεῖint argc, char *argv[]
mean?的重复。问题是argv+argc
的含义,而不是argv
和argc
本身。 - John Kugelmanargv
和argv + argc
是范围的起始和结束,customComparator
是比较器,您正在使用默认分配器。 - Nathan Pierson