草庐IT

output_iterator_tag

全部标签

c++ - boost::asio::ip::tcp::resolver::iterator 是做什么的?

我从C++中的boostasio编程开始,在查看示例时,我无法理解boost::asio::ip::tcp::resolver::iterator是什么做。代码:boost::asio::io_serviceio_service;tcp::resolverresolver(io_service);tcp::resolver::queryquery(argv[1]);tcp::resolver::iteratorendpoint_iterator=resolver.resolve(query);tcp::resolver::iteratorend;tcp::socketsocket(io

c++ - Visual Studio native 单元测试 : Debug/console output?

谁能告诉我在VisualStudio2012的native(C++)测试项目中运行单元测试时如何启用或获取调试或控制台文本输出?答案不应包含短语“使用Google测试”。 最佳答案 在单元测试代码中,可以使用Logger::WriteMessage("Mymessagestring");消息将出现在“输出”窗口中。 关于c++-VisualStudionative单元测试:Debug/consoleoutput?,我们在StackOverflow上找到一个类似的问题:

c++ - const_iterator 和 const_iterator::value_type 的 constness

为什么在STL中std::iterator_traits::value_type与类型相同std::iterator_traits::value_type为什么要这样设计?第一个不应该是constT,第二个不应该是T吗?您应该如何采用迭代器的底层const正确类型?我知道您可以编写自己的模板类和特化并从中获取它std::iterator_traits::pointer但是不应该有一个成员typedef来保存它吗? 最佳答案 常量对于值类型无关紧要,因为值意味着一个拷贝。std::iterator_traits::reference是

c++ protobuf : how to iterate through fields of message?

我是protobuf的新手,但我的任务很简单:我需要遍历消息字段并检查它的类型。如果类型是消息,我将递归地对此消息执行相同的操作。例如,我有这样的消息:packageMyTool;messageConfiguration{requiredGloablSettingsglobalSettings=1;optionalstringoption1=2;optionalint32option2=3;optionalbooloption3=4;}messageGloablSettings{requiredbooloption1=1;requiredbooloption2=2;requiredbo

c++ - gtk_widget_add_tick_callback() 和 gtk_main_iteration()

我有两个GTK窗口运行动画的普通(主)窗口,在gtk_widget_add_tick_callback()注册的回调中绘制内容。在某个时候会创建运行模态循环的辅助窗口:voidshow_modal(){GtkWindow*gw=gtkwindow(this);if(parent())gtk_window_set_transient_for(gw,gtkwindow(parent()));gtk_widget_show(GTK_WIDGET(gw));gtk_window_set_modal(gw,TRUE);gtk_window_set_keep_above(gw,TRUE);this

python - 如何为类类型创建 OUTPUT 类型映射?

我之前在尝试将SWIG的OUTPUT类型映射应用于类类型时遇到了麻烦,我问了这个previousquestion.我得到的答案很有帮助,但仍然需要我要求SWIG执行以下操作:%applyexportedClassType&OUTPUT{exportedClassType&result};这在SWIG3.0.6上似乎对我不起作用,并显示以下消息:警告453:无法应用(exportedClassType&OUTPUT)。没有定义类型映射。从查看thedocumentation:请注意,typemaps.i文件的主要目的是支持原始数据类型。写一个这样的函数voidfoo(Bar*OUTPUT

c++ - std::map<K,V>::iterator 是否实例化 std::map<K,V>?

我有这段代码,它适用于GCC:#includeclassFoo;classBar;typedefstd::mapMyMap;MyMap::iteratori;classFoo{MyMap::iteratorsome_data;};当前设计的代码(这是令人不快的循环,是的,我坚持使用它)需要map::iterator可用于Foo和Bar.之所以有效,是因为GCC库实现恰好不需要实例化映射的键类型来实例化迭代器。这是有保证的吗?在定义映射迭代器类型时,该标准似乎有些放任自流。这段代码的可移植性如何? 最佳答案 这会导致未定义的行为。在声

c++ - 'iterator' 可以只输入子类 'const_iterator' 吗?

在anotherquestionaboutiterators之后我对自定义容器有一些疑问。在我的容器中,iterator是const_iterator的子类,因此我可以“免费”从非const转换为const。但这是否允许,或者这样的设置是否有任何缺点或不工作的情况? 最佳答案 是的,这很好。这就是VC10对vector的迭代器的实现方式。例如,是结构化的。见_Vector_iterator和_Vector_const_iterator在.顺便说一句,编写迭代器很困难。值得您花时间学习和使用boost::iterator库。

c++ - 为什么 vector::iterator 在重新分配时无效?

我不明白为什么在重新分配发生时vector的迭代器应该失效。难道不能简单地通过在迭代器中存储一个偏移量——而不是一个指针——来防止这种情况吗?为什么vector不是这样设计的? 最佳答案 只是为与性能相关的理由添加一个引用:在设计C++时,Stroustrup认为模板类如std::vector是至关重要的。接近原生数组的性能特点:Onereasonfortheemphasisonrun-timeefficiency...wasthatIwantedtemplatestobeefficientenoughintimeandspacet

c++ - 将 std::list<>::iterator 的值指向指针?

如何循环通过STL::List并存储其中一个对象的值以供稍后在函数中使用?Particle*closestParticle;for(list::iteratorp1=mParticles.begin();p1!=mParticles.end();++p1){//ExtrastuffremovedclosestParticle=p1;//failstocompile(editfromcomments)} 最佳答案 要么Particle*closestParticle;for(list::iteratorit=mParticles.be