草庐IT

stream_socket_enable_crypto

全部标签

c++ - template<class = enable_if_t<...>> 做什么?

我一直在阅读STL文件,以学习格式化代码的更好方法,并学习提高效率的技巧。我一直在阅读线程文件,但我无法弄清楚某些代码的作用。template,thread>::value>>explicitthread(_Fn&&_Fx,_Args&&..._Ax){//constructwith_Fx(_Ax...)...}std::enable_if_t是templateusingenable_if_t=typenameenable_if::type;templatestructenable_if{//typeis_Tyfor_Testusingtype=_Ty;};该代码在thread和str

c++ - std::enable_if 不能用于禁用此声明

我有一段相当复杂的代码,我将其简化为这个复制器:#include#includetemplatestructouter{templatestructinner{templatestructproblem;usingTA=std::tuple;usingTB=std::tuple;templatestructproblem::value::value>::type>{staticconstexprautoval(){return1;}//actuallyacomplexfunction};templatestructproblem::value>=std::tuple_size::val

c++ - 使用 std::streams 格式化输出

我有一个我希望能够流式传输的对象。但是我希望能够通过使用不同的格式以不同的方式流式传输它,或者我应该说描述这个对象的方法。我想知道这应该如何用流来解决。我想要的是能够使用通用格式并使用某种格式适配器将通用格式转换为首选格式。我还希望能够将格式与Item的实现分开,这样我就不必在每次添加或更改新格式时都更改Item。这段代码大致说明了我想要什么。Itemitem;std::cout但这可能是不可能的或不切实际的。面对这样的问题,流媒体库打算如何使用? 最佳答案 我个人会写一套格式化程序。格式化程序必须知道他们正在格式化的对象的内部结构

c++ - boost::spirit stream_parser 消耗太大?

我在将类与iostream解析集成时遇到了一些问题支持spirit解析器。下面的示例(修改自Spirit示例)演示了问题。如果我尝试仅解析自定义类,它会成功由第一个解析和断言调用显示。如果我尝试解析自定义类以及(在本例中)逗号和float,解析器失败。谁能解释为什么会这样?如果我使用spirit解析器而不是流解析器,我可以使第二个示例工作,但是这违背了使用stream_parser的目的。我在本地示例中启用了规则调试,这表明自定义解析器使用字符串的全部内容-然而,代码表明它不应该这样做......感谢任何帮助!boost1.44.0,海合会4.1.1#includestructcomp

提高Java开发生产力,我选Stream API,真香啊

Java8引入的StreamAPI提供了一种新的数据处理方式,它以声明式、函数式的编程模型,极大地简化了对集合、数组或其他支持数据源的操作。Stream可以被看作是一系列元素的流水线。允许你高效地对大量数据执行复杂的过滤、映射、排序、聚合等操作,而无需显式地使用循环或者临时变量。StreamAPI的设计理念主要包括两个方面:链式调用和惰性求值。链式调用允许我们将多个操作连接在一起,形成一个流水线,而惰性求值意味着只有在真正需要结果的时候才执行计算,从而避免了不必要的计算开销。接下来我们就来盘点一下日常开发中常用的一些StreamAPI。创建Stream集合创建Listlist=newArray

c++ - 创建多个 TCP Socket 连接

在我的一个解析程序中,我必须执行以下操作(在C、C++、VC++中):-我必须通过套接字编程连接100台机器(透析机)。向每台机器发送请求并接收来自机器的响应以及我将从机器获得的数据我将不得不解析该数据并将值写入文件中。我必须每5秒向每台机器发送一次请求.所以为了完成上述任务,我想这样做:-我将从数据库中读取每台机器的ip和端口,创建一个线程连接到每台机器,在每个线程中将创建一个子线程(子线程),它将发送、接收和解析数据每5秒后机器(并将值写入txt文件)。我的解析函数将是通用的。是否是可行的解决方案。请帮助我。提前致谢。 最佳答案

c++ - 将 boost filtering_stream 替换为 std::ofstream 的参数语法

关于boostfiltering_streams的一些基本问题。我有几十个函数接受std::ofstream&的参数voidfoo(std::ofstream&outStream){//lotsofoperations,likethis:outStream现在我想使用boostfiltering_stream输出到一个压缩的ZIP文件。经常引用的用于打包和解包的boostfiltering_streams测试代码经过编译、链接和完美运行。我想替换filtering_stream:voidStreamSomeCompressedTextToFile(char*fileName){ofst

c++ - enable_if 和互斥方法

我不明白为什么下面的代码不起作用。编译器(gcc)似乎同时实例化了两者方法,显然整数是有符号或无符号的,所以总是失败。我虽然enable_if在这里是为了避免这种情况。问:为什么编译出错,如何避免?usingnamespaceboost;//orstdasyouwanttemplatestructtest{//ifsignedtemplate,int>::type=0>test&operator,int>::type=0>test&operatorx;xetc.testy;yetc.} 最佳答案 SFINAE仅适用于immediat

C/C++ Linux Socket网络编程 TCP 与 UDP

之前已经学习了QT的socket编程和C/C++在window环境的socket编程,现在再来学习一波C/C++在Linux环境下的socket编程,为以后学习C++Linux服务器开发做准备。目录一、Socket简介二、Socket编程基础1.网络字节序2.sockaddr数据结构3.IP地址转换函数三、TCP编程函数1.socket函数2. bind函数3. listen函数4. accept 函数5. connect函数6.read函数7.write函数8.close函数四、TCP回声服务器案例1.服务器2.客户端3.运行测试五、UDP网络编程1.UDP编程函数1).sendto2).r

c++ - enable_if 只有 C++11 吗?

在C++引用网站上查找enable_if,据说它只是C++11的一个特性。但是,我在C++98类型上使用GCC编译器编译了我自己的enable_if版本,它运行良好并且似乎能够用于任何版本的C++(打印1):#includenamespaceegg{templatestructenable_if{};templatestructenable_if{typedefTtype;};}intmain(){egg::enable_if::typex=1;std::cout我说的enable_if是任何C++版本的一个有效功能,但只是引入到C++标准中,或者还有其他原因吗?