草庐IT

name-binding

全部标签

c++ - 为以太网适配器设置自定义 ip 时无法绑定(bind)套接字

问题在我们运行RTEMS4.9.2的系统上,我们遇到了一个非常奇怪的套接字通信问题。我们正在设置套接字并使用以下命令进行绑定(bind)://Bindthesockettosetthelocalportsockaddr_inlocalSocketAddress={0};localSocketAddress.sin_family=AF_INET;localSocketAddress.sin_port=(u_short)localPort;localSocketAddress.sin_addr.s_addr=localAddress;if(bind(mSocket,(sockaddr*)&

c++ - std::clamp - 检测函数返回值是否绑定(bind)到 const T&

最好不要将std::clamp返回值绑定(bind)到constref,如果它的min或max参数之一是右值.std::clamp的典型实现(非常简化):templateconstexprconstT&clamp(constT&value,constT&min,constT&max){returnvalue正如cppreferenceforstd::clamp中所述当有人写下时,情况很危险:intn=-1;constint&r=std::clamp(n,0,255);//risdangling有没有办法在编译时检测这些情况? 最佳答案

c++ - 绑定(bind)到底是什么意思?

当我实际使用他们的C++库时,我总是看到人们提到“Python绑定(bind)”和“CSharp绑定(bind)”等。绑定(bind)是什么意思?如果库是用C编写的,Python绑定(bind)是否意味着他们使用SWIG类工具来模拟Python接口(interface)?这个领域的新手,欢迎任何建议。 最佳答案 当有人谈论诸如库的“C#绑定(bind)”之类的内容时,他们表示您和API是在C#中为以不同语言编写的库提供的。这可能涉及也可能不涉及SWIG等自动生成工具。 关于c++-绑定(

c++ - boost::bind 和 boost::lambda::bind 有什么区别?

我可以看到Boost有两个不同的绑定(bind)库,一个是“独立的”,可以通过包含boost/bind.hpp来使用,另一个可以通过包含boost/lambda/bind.hpp。这两者有什么区别? 最佳答案 看看这里的解释:http://boost.org/doc/libs/1_46_0/doc/html/lambda/s08.html#id2143701它们具有重叠的功能,但由于语义不同,它们不能交错使用。 关于c++-boost::bind和boost::lambda::bind有

c++ - gcc 的 std::bind 在哪里将参数复制到数据结构中?

为了了解std::bind分配内存的情况,我查看了thisanswer,这给出了一些直觉,但我想要更详细的了解,所以我去查看了gcc的源代码。我正在检查followingsourcecode对于来自C++标准库的gcc实现的std::bind。/***@briefFunctiontemplateforstd::bind.*@ingroupbinders*/templateinlinetypename_Bind_helper::value,_Func,_BoundArgs...>::typebind(_Func&&__f,_BoundArgs&&...__args){typedef_Bi

c++ - 如何将 C++ 属性绑定(bind)到 QML 属性?

所以我知道如何将QML属性绑定(bind)到C++属性,所以当C++调用通知信号时,QML会更新View。当用户使用UI更改某些内容时,有什么方法可以使C++属性更新吗?例如,我有一个组合框,我希望在用户更改组合框的值时更新某些C++属性。编辑:我所说的C++属性是指QObject派生类中的Q_PROPERTY宏。 最佳答案 要从您未在QML中创建(或在其他上下文中创建)的对象绑定(bind)属性,您必须使用Binding.在你的情况下:Binding{target:yourCppObjectproperty:"cppPropert

c++ - 来自 Xcode 8.3.2 : Non-portable path to file - specified path differs in case from file name on disk 的错误警告

出于某种原因,我的代码库突然开始收到数以千计的此类警告。但到目前为止,所有有问题的文件和路径都是完全正确的,与我在磁盘上看到的与Finder相匹配。他们是不是在暗地里另有幕后?当问题实际上并不存在时,为什么Xcode会生成这些警告?尽管http://stackoverflow.com/questions/43067017/non-portable-path-to-file-file-h-specified-path-differs-in-case-from-file-na是关于相同的警告,在这种情况下我已经验证导入路径与磁盘上的文件名匹配。 最佳答案

c++ - 为什么 injected-class-name 有时不被视为类模板中的模板名称?

SourceInthefollowingcases,theinjected-class-nameistreatedasatemplate-nameoftheclasstemplateitself:itisfollowedbyitisusedasatemplateargumentthatcorrespondstoatemplatetemplateparameteritisthefinalidentifierintheelaboratedclassspecifierofafriendclasstemplatedeclaration.所以我尝试检查所有3种情况(另外在基本歧义的情况下,尽管我

c++ - 将 std::bind 与 boost::signals2 一起使用是否安全?

使用std::bind将成员函数传递给boost::signals2::signal::connect()是否安全?换句话说,boost::bind和std::bind可以互换吗?它使用VC++2010SP1编译,但模板代码让我难以理解,恐怕我可能会冒险进入未定义的行为领域。 最佳答案 我在这方面没有经验,因为我希望connect接受任何实现有效函数调用运算符的东西。使用与签名匹配的任何函数或函数对象调用它应该是安全的,无论是boost::bind、std::bind还是其他任何东西。Boost库被设计为通用的,因此它们通常不会互相

java - 运行时动态绑定(bind)和类继承的区别

我试图阐明动态语言(Python、ruby)和静态类型语言(java、C++)中运行时动态绑定(bind)和类继承的概念。我不确定我是否正确。在像Python和Ruby这样的动态语言中,运行时动态绑定(bind)是通过ducktyping实现的。当解释器检查对象的类型时,它检查对象是否具有特定的方法(或行为),而不是检查对象的类型;运行时动态绑定(bind)并不意味着类继承。类继承只是减少了Python和Ruby中的代码复制。在Java、C++等静态类型语言中,运行时动态绑定(bind)只能通过类继承获得。类继承不仅减少了这里的代码拷贝,还用于实现运行时动态绑定(bind)。综上所述,