草庐IT

new_size

全部标签

c++ - 将字符串转换为 size_t

有没有办法将std::string转换为size_t?问题是size_t是平台依赖类型(而它是sizeof的结果)。所以,我不能保证将string转换为unsignedlong或unsignedint会正确。编辑:一个简单的案例是:std::cout>input;size_tindex=string_to_size_t(input);//Workwithindextodosomething 最佳答案 你可以使用std::stringstreamstd::stringstring="12345";std::stringstreamss

mongodb - 设置 MongoDB 数据库配额 (SIZE)

我想允许我的共享主机站点使用MongoDB,但是由于它们都在同一个VPS服务器上,我可以让mongo创建数据库,并将它们分配给用户,但我似乎无法限制数据库的大小只是集合的大小。可以更改。是否以管理员身份限制数据库的大小。 最佳答案 MongoDB分配数据库block,从64MB(dbname.0)开始,然后是128MB(.1)、256等,直到2GB,然后每个文件从那里开始是2GB。如果您在mongod.exe命令行参数中使用--smallfiles,则文件分配从16MB而不是64MB开始,最大为512MB而不是2GB。将此与--qu

mongodb - 设置 MongoDB 数据库配额 (SIZE)

我想允许我的共享主机站点使用MongoDB,但是由于它们都在同一个VPS服务器上,我可以让mongo创建数据库,并将它们分配给用户,但我似乎无法限制数据库的大小只是集合的大小。可以更改。是否以管理员身份限制数据库的大小。 最佳答案 MongoDB分配数据库block,从64MB(dbname.0)开始,然后是128MB(.1)、256等,直到2GB,然后每个文件从那里开始是2GB。如果您在mongod.exe命令行参数中使用--smallfiles,则文件分配从16MB而不是64MB开始,最大为512MB而不是2GB。将此与--qu

c++ - size_t 与 unsigned int 相比的大小

有谁知道size_t的最大值小于unsignedint的最大值的任何工具链/平台/目标组合?我认为C和C++标准原则上都允许这样做,并且它可能(理论上)在一些奇怪的MCU上有用,但我在实践中从未见过这种情况。注意:我故意用c和c++标记了这个,因为我对这两种语言的答案很感兴趣(如果你的答案是特定于语言的,请这样说)而且我还没有看到任何使用不同大小的工具链/目标组合无论如何都要输入c和c++。 最佳答案 H8/300可以配置为。使用GCC(配置了三重h8300-elf或h8300-rtems),这是-mint32标志:gcc/conf

c++ - 是否使用 new char[] 或 malloc 的结果来转换 float * is IN(严格的别名违规)?

其中哪些代码有UB(具体来说,违反了严格的别名规则)?voida(){std::vectorv(sizeof(float));float*f=reinterpret_cast(v.data());*f=42;}voidb(){char*a=newchar[sizeof(float)];float*f=reinterpret_cast(a);*f=42;}voidc(){char*a=newchar[sizeof(float)];float*f=new(a)float;*f=42;}voidd(){char*a=(char*)malloc(sizeof(float));float*f=r

c++ - 为什么 sgi STL 源代码在 operator new 函数前面使用双冒号?

我正在阅读SGI标准模板库的源代码。我发现operatornew函数前面总是有一个双冒号。像这样:T*tmp=(T*)(::operatornew((size_t)(size*sizeof(T))));operatornew可以不加::字段直接调用,那为什么STLcoder会这样写呢?如果我们不使用它们前面的::,可能会遇到什么陷阱或情况。 最佳答案 您可以为类重载operatornew并在其前面加上"::"将调用全局"default"operatornew而不是可能的重载。例如:#includeclassFoo{public:Fo

c++ - 为什么 std::count(_if) 返回 iterator::difference_type 而不是 size_t?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhydoestheC++standardalgorithm“count”returnaptrdiff_tinsteadofsize_t?标准C++中有std::count/std::count_if算法。templatetypenameiterator_traits::difference_typecount(InputIteratorfirst,InputIteratorlast,constT&value);templatetypenameiterator_traits::difference_typec

C++:std::tuple_size/tuple_element 可以专门化吗?

是std::tuple_size的特化和std::tuple_element允许自定义类型?我想是的,但我想绝对确定,我找不到任何具体信息。示例(省略了命名空间、成员函数和get重载):templatestructvector{T_data[N];};templateconstexprT&get(vector&vec){returnvec._data[I];}namespacestd{templateclasstuple_size>:publicstd::integral_constant{};templateclasstuple_element>{public:usingtype=T

c++ - Valgrind 和 "WARNING: new redirection conflicts with existing"

我在Valgrind中得到了这个。--24101--REDIR:0xbb20580(operatordelete(void*))redirectedto0x93b7d48(operatordelete(void*))--24101--REDIR:0xbb22580(operatornew[](unsignedlong))redirectedto0x93b88b7(operatornew[](unsignedlong))==24101==WARNING:newredirectionconflictswithexisting--ignoringit--24101--new:0x156320

c++ - 在 C++ 中使用 size_t 是一种好习惯吗?

我看到人们使用size_t每当它们表示无符号整数时。例如:classCompany{size_tnum_employees_;//...};这是好的做法吗?一件事是你必须包括.应该是unsignedint反而?甚至只是int?仅使用int听起来对我很有吸引力,因为它避免了像这样的愚蠢错误(因为人们经常使用int):for(inti=num_employees_-1;i>=0;--i){//dosomethingwithemployee_[i]} 最佳答案 size_t可能与int的大小不同.对于员worker数等因素,这种差异通常是