- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这段用c++写的代码是什么意思?
PGBulkInserter pgBulkInserter(postgreSQL, HOST_TRAFFIC_SCHEMA_NAME, date,
flushSize, "%ud, %ud, %ud, %ud, %ud, " \
"%ul, %ul, %Vul, %Vud, %Vud, %Vud, %Vul, " \
"%Vud, %Vud, %Vud, %Vud, %Vud, %ud, %ud, " \
"%ud, %ud, %ud");
我理解是创建PGBulkinserter
的实例,但是%ul, %ud %vud
等是什么意思呢?你能解释一下更深层的含义吗(即 PGbulkinsterter
有多少个参数,等等)?
我认为它们类似于 %d、%f
等类型。有谁知道 %ud
是否表示 %d
的未签名版本>(我只是猜测)。
编辑:我很确定 %ud
是 32 位无符号十进制,在另一段代码中用于时间。此外,"%ul, %ul, %Vul, %Vud, %Vud, %Vud, %Vul, "
与表中所有条目的类型相关。现在,问题是\
是什么?
最佳答案
如果这应该是一个初始化(构造函数调用),那么它将 5 个参数传递给构造函数。最后一个参数是字符串文字。它没有特定于 C++ 的含义。它的意义是由功能决定的。阅读函数文档以了解其含义。它看起来类似于 C 风格的格式字符串 (fscanf
/fprintf
),但实际的说明符(如 %Vud
)不是标准的。
最后一个参数实际上是一个跨多行的字符串文字。 C++ 语言将连续的字符串文字(即用空格分隔的文字)连接成单个文字。例如这个看似独立的文字序列
"Hel" "lo" " worl"
"d"
实际上被编译器解释为一个单一的文字
"Hello world"
行尾的 \
字符导致预处理器将源文件的几行合并为一行。为此, \
字符必须是该行的最后一个字符(如您的示例所示)。比如这个
in\
t\
ma\
in(\
)
相当于
int main()
换句话说,您的代码示例实际上等同于
PGBulkInserter pgBulkInserter(postgreSQL, HOST_TRAFFIC_SCHEMA_NAME, date, flushSize,
"%ud, %ud, %ud, %ud, %ud, %ul, %ul, %Vul, %Vud, %Vud, %Vud, %Vul, %Vud, %Vud, %Vud, %Vud, %Vud, %ud, %ud, %ud, %ud, %ud");
代码的作者显然认为,为了让编译器连接文字,必须先将它们强制排成一行。为此,他们使用了 \
字符。然而,这是完全没有必要的,因为即使没有 \
,文字也会被连接起来。
在您的具体代码示例中,您可以完全删除每行末尾的 \
字符,这对程序绝对没有影响。有时人们无论如何都使用那些 \
只是为了引起人们对文字在下一行继续的事实的注意。
关于c++ - %ud, %vud 那些是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13909004/
我试图通过另一个 Unix Domain Socket 连接将已建立的连接 Unix Domain Socket 文件描述符从进程 A 传递到进程 B,但没有成功虽然 TCP 套接字传递没有问题。这是
这个问题在这里已经有了答案: Parameter evaluation order before a function calling in C (7 个答案) 关闭 7 年前。 在我的代码中有这一
我正在为一项作业编写一个小型 UDS 服务器,并且感觉我的代码大部分都在那里,但当我实际尝试运行它时,我完全没有得到任何结果。 代码通过 shell 脚本进行测试,该脚本向我的代码的主函数发送多个不同
这段用c++写的代码是什么意思? PGBulkInserter pgBulkInserter(postgreSQL, HOST_TRAFFIC_SCHEMA_NAME, date,
SID2E和SID22中是否存在整帧长度超过7字节的情况? 如果是,那么它将如何发送或写入数据字节? 最佳答案 是的,UDS 中的常见用例是对 SID 0x22 (ReadDataByIdentifi
SID2E和SID22中是否存在整帧长度超过7字节的情况? 如果是,那么它将如何发送或写入数据字节? 最佳答案 是的,UDS 中的常见用例是对 SID 0x22 (ReadDataByIdentifi
刚刚启动kivy框架,在kivy painting app tutorial有这样一行代码: touch.ud['line'] = Line(points=(touch.x, touch.y)) 有人
按照 here 中的说明为西类牙语-Ancora UD 语料库训练我自己的 SyntaxNet 模型没有给我错误。 在所有步骤之后,它创建的最终文件是: -category-map -char-ma
我有一张 table 。我有一个用户定义的函数(UDF)。我的 UDF 返回一张表。我需要左外连接我的表和 UDF 表。 最佳答案 使用 SQL Server 2005 的新 APPLY 子句。 AP
当客户端连接到管道并发送数据时,我可以很好地接收到数据,并且可以继续接收数据。当客户端断开连接并且 while 循环仍然处于事件状态时,问题就来了,connection.recv() 不会阻塞,因此会
我正在开发运行 Linux 的嵌入式设备。在我的应用程序中,服务器线程打开 UDS 套接字并等待连接。当客户端(不同的应用程序/进程)连接时,它会处理请求并发送请求的数据。 请求的数据通常大于52KB
我在 Android 10 设备上运行 2 个应用程序,它们通过 uds 相互通信。一切正常,直到我将应用程序设置更改为针对 android 10。我在 logcat 中收到以下错误: 09-07 1
试过这个: $('.link').click(function(e) { $.getScript('http://www.google.com/uds/api?file=uds.js&v=1
我正在编写一个基于fork()的服务器,TCP套接字是客户端与服务器的通信 channel ,而UDS套接字(数据报,如果有什么区别的话)是通信管理控制台与服务器的 channel 。 监听两种套接字
我试图在 C++ 程序中尽快将数据从一个 UDS 传递到另一个,但 UDS 不支持 splice (如 fd_in)。 UDS 是否支持尽可能接近零拷贝的替代方案? This question被要求提
我正在尝试通过 XL 驱动程序库构建 UDS 协议(protocol)来构建诊断应用程序,但不知道应该从哪里开始。 最佳答案 Python 中存在整个库堆栈。看UdsOnCAN将处理应用程序层的包。您
每次我从后堆栈中删除YouTubePlayerSupportFragment时,都会在logcat中收到以下错误: 06-12 02:08:46.937 8805-8805/ D/GA_DEBUG:
我是一名优秀的程序员,十分优秀!