10111得票26回答
在C/C++中,“-->”运算符是什么?

在阅读了 comp.lang.c++.moderated 上的 C++/STL 的隐藏特性和黑暗角落 后,我完全惊讶于以下代码片段在 Visual Studio 2008 和 G++ 4.4 中都编译并运行正常。我认为这也是有效的 C 代码,因为它在 GCC 中也能正常工作。 以下是代码: ...

3365得票12回答
提高SQLite的每秒插入性能

优化SQLite很棘手。C应用程序的批量插入性能可以从每秒85次变化到每秒超过96,000次! 背景:我们正在使用SQLite作为桌面应用程序的一部分。我们有大量的配置数据存储在XML文件中,在应用程序初始化时被解析并加载到SQLite数据库中进行进一步处理。SQLite非常适合这种情况,因...

3120得票27回答
3067得票30回答
#include <filename>和#include "filename"有什么区别?

在 include 指令中,使用尖括号和引号有什么区别? #include &lt;filename&gt;:用于包含标准库头文件。 #include &quot;filename&quot;:用于包含用户自定义头文件。

2775得票29回答
我应该将malloc的结果转换成什么类型?

在这个问题中,有人在评论中建议我不要对malloc的结果进行强制转换。也就是说,我应该这样做: int *sieve = malloc(sizeof(*sieve) * length); 而不是: int *sieve = (int *) malloc(sizeof(*sieve) *...

2538得票4回答
在C语言中,"??!??!"运算符是什么作用?

我看到了一行看起来像这样的C代码:!ErrorHasOccured() ??!??! HandleError(); 这段代码编译正确且似乎正常运行。它似乎在检查是否发生了错误,如果发生了错误,则进行处理。但是我不确定它实际上在做什么或者是如何完成的。看起来程序员试图表达他们对错误的感受。 我...

2130得票17回答
在C++中,extern "C"有什么作用?

extern "C"在C++代码中的作用是什么? 例如:extern "C" { void foo(); }

1809得票5回答
在C语言中,':-!!'是什么意思?

我在/usr/include/linux/kernel.h中遇到了这段奇怪的宏代码: /* Force a compilation error if condition is true, but also produce a result (of value 0 and type si...

1802得票20回答
使用数组时,为什么a[5]等于5[a]?

正如 Joel 在 Stack Overflow podcast #34 中指出的那样,在 C Programming Language(又称:K&amp;R)中,提到了 C 数组的这一属性:a[5] == 5[a] Joel 表示这是由于指针算术运算,但我仍然不理解。 为什么 a[5] =...

1785得票23回答
const int*、const int * const和int const *之间有什么区别?

我经常混淆如何正确使用 const int*,const int * const 和 int const *。是否有一组规则定义了你可以做什么和不能做什么? 我想知道在赋值、传递给函数等方面所有的可行和不可行之处。