草庐IT

Function-Index

全部标签

c++ - 为什么在使用 GCC 7、libstdc++ 和 -fgnu-tm 编译时,std::is_function 无法识别 transaction_safe 函数?

下面的编译失败是由于libstdc++缺陷造成的,还是此行为符合事务内存TS(n4514)?#includestatic_assert(std::is_function_v,"");intmain(){} 最佳答案 它应该可以工作,请提交一份GCC错误报告。 关于c++-为什么在使用GCC7、libstdc++和-fgnu-tm编译时,std::is_function无法识别transaction_safe函数?,我们在StackOverflow上找到一个类似的问题:

C++ 最佳实践 - 函数类型别名 std::function<T> 或 T

在C++中为函数类型声明类型别名时,什么被认为是最佳或良好实践(我知道这部分问题可能是主观的)?要么usingFuncType=void(int,int);或usingFuncType=std::function;两者之间有什么好处吗?例如,我应该如何将这些类型用作函数参数(当作为仿函数、lambda、成员或全局函数传递时)voidfoo(FuncType&&func){...}voidfoo(FuncTypefunc){...}voidfoo(std::functionfunc){...}编辑我知道并非我上面的所有示例都适用于#1和#2,但这不是重点。我想知道哪个(以及为什么)选项更

c++ - 使用多线程在 GNU C 中使用 Write Function 是否安全

将多个线程的函数调用写入同一个套接字安全吗?我们想在它们之间添加同步吗?它会引起诸如此类的问题吗应用程序从网络层到应用层的写入/读取延迟我们正在使用GNUC++库LinuxRedhat环境上的GCC4这是一个服务器端进程,其中服务器和客户端之间只有1个套接字连接服务器和客户端位于2台不同的机器上数据从服务器发送到客户端客户端到服务器问题1-当服务器向客户端发送数据时(多个线程通过同一个套接字向客户端写入数据)但是从某些线程写入的数据没有进入客户端,它甚至没有进入网络层同一台机器的(Tcpdump没有该数据)问题2-当客户端向服务器发送数据时,客户端发送的数据显示在服务器的TCPdump

c++ - 没有 typedef 的运算符 member_function_pointer_type()?

是否可以在不使用typedef的情况下创建一个operatormember_function_pointer_type()(即通过内联指定成员函数指针的类型)?例如,在实现SafeBoolIdiom时:classFoo{typedefvoid(Foo::*bool_type)()const;public:operatorbool_type()const;};是否可以在声明运算符时直接写出bool_type的类型?如果是,怎么办? 最佳答案 这似乎是唯一不能在不使用typedef的情况下声明(类型转换)operator的情况。如果它是

c++ - 错误 LNK2019 : unresolved external symbol ___iob_func referenced in function "void __cdecl Padding(int)"

使用FTDIAPI可以在VisualStudio2012下正常编译和链接。但在VS2014下,它给出:ErrorLNK2019:unresolvedexternalsymbol___iob_funcreferencedinfunction"void__cdeclPadding(int)"标准库有变化吗? 最佳答案 是的,标准库已经改变,FTDI似乎并不关心-至少从CDM2.12.18驱动程序版本开始不关心。问题在thisquestion的答案中描述。.ftd2xx.lib中devcon.obj的void__cdeclPadding(

c++ - QAbstractItemModel 与 QtQuick : Column is always 0 in the index

我对QML很困惑。几周以来,我尝试使用QML为视频中的注释内容实现时间线,但我无法真正让它发挥作用,因为我对QML还很陌生。我试着帮你解决我的问题。这是一个示例,时间轴应如下所示:Timelineexample我得到了不同的轨道,我在其中存储了不同的注释,这些注释只是表示,从开始到结束点,视频包含给定轨道的注释。例如,如果我对包含晴天图像的视频中的所有场景进行注释,则每个注释框都会标记视频中包含晴天图像的场景。例如,我计划通过XML文件保存和获取这些信息。一个可能的例子是:......为了将数据放入我以后可以使用的模型中,我使用如下方法解析文件:readModelFromXML():Q

c++ - boost::multi_index_container::index<Tag>::type 有什么意义?

如果你有一个boost::multi_index_container对于多个索引,显然有多种方法可以对其进行迭代——每个索引都定义了一种方法。例如,如果您有一个标签为T的索引,您可以从container.get().begin()迭代至container.get().end().如果您尝试在for循环中这样做(并且没有C++0xauto),迭代器的类型是multi_index_container::index::type::iterator.现在index::type将是boost::multi_index::detail::ordered_index或结构上等效的东西。例如。它将提供

c++ - 使用 shared_ptr 和 weak_ptr 来管理 std::function 的生命周期是否安全?

我已经围绕boost::asio::io_service创建了一个包装器来处理OpenGL应用程序的GUI线程上的异步任务。任务可能是从其他线程创建的,因此boost::asio似乎是这个目的的理想选择,这意味着我不需要编写自己的带有关联互斥锁和锁定的任务队列。我想将每帧完成的工作保持在可接受的阈值以下(例如5毫秒),所以我调用poll_one直到超出所需的预算,而不是调用run.据我所知,这需要我调用reset每当发布新任务时,这似乎运作良好。因为它很短,这里是全部内容,没有#include:typedefstd::functionVoidFunc;typedefstd::share

c++ - 使用 SWIG 处理 std::function

显然,SWIG不理解std::function并破坏了Python绑定(bind)。例如,这适用于C++://SomewhereintheAPItypedefstd::functionUnitErrorHandler;//SomewhereelseintheAPIvoidUnit::setErrorHandler(constUnitErrorHandler&handler){}//Intheapplicationcodeunit->setErrorHandler([](constUnitError&error){std::cerr但这会破坏代码(除了为了简单起见而具有不同的行为,但这不

c++ - boost::function 的默认构造函数是否有不抛出保证?

问题在标题中。我在引用文档中找不到信息。我不明白为什么默认构造函数会抛出异常,但我需要确保它不会抛出异常以正确记录我的异常保证。 最佳答案 参见http://www.boost.org/doc/libs/1_54_0/doc/html/boost/function.html#idp15443616-bb:它明确指出“不会抛出”。 关于c++-boost::function的默认构造函数是否有不抛出保证?,我们在StackOverflow上找到一个类似的问题: