一些函数,如strcpy()、malloc()、strlen()和其他各种函数之类,由于明显的原因将它们的参数或返回值作为size_t而不是int或unsigned int。 一些文件操作函数,如fread()和fwrite(),也使用size_t。因此,可以预期char* fgets (c...
在我项目中使用的源文件中,有一个比较ssize_t和size_t变量的部分。ssize_t sst; size_t st; if(sst == st){...} 我想要消除这个警告:warning: comparison between signed and unsigned integer...
size_t 声明为 unsigned int,因此它不能表示负值。因此有 ssize_t,它是 size_t 的 有符号 类型,对吗? 这是我的问题:#include <stdio.h> #include <sys/types.h> int main(){ size...
我最近了解到,size_t的引入是为了使代码未来能够应对本地位数增加和可用内存增加。具体使用定义似乎在存储某些东西的大小,通常是一个数组。现在,我必须想知道这种未来保护措施应该走多远。如果接下来要对数组进行迭代的任务使用 unsigned int 作为索引数组,那么使用具有未来保护和适当大小的...
所以我在程序中有一个普通的 for 循环,遍历了一个对象向量(这些对象是我定义的类型,如果这很重要的话):for(int k = 0; k < objects.size(); k++){ ... } ...当我编译时,我收到了这个警告:warning: comparison betwee...
或者它可以是一个单独的无符号整数类型吗? 我有针对不同(无符号)整数类型的模板函数的不同专业化。我需要为size_t提供一个单独的专业化吗?
我刚刚看到了一些C++代码。它使用条件来决定是向前还是向后遍历一个std::vector。编译器没有报错,但我认为size_t是无符号的。这样做是否危险?vector<int> v { 1,2,3,4,5 }; bool rev = true; size_t start,...
我正在使用Oracle API访问数据库,该API有一个函数readBuffer(char * buffer, unsigned int size);,但我无法对其进行任何更改。 我有一个使用此API的类,我的函数签名目前需要一个std::string和一个unsigned int作为大小参...