草庐IT

max_packet_size

全部标签

c++ - 为什么 size_t 是无符号的?

BjarneStroustrup在C++编程语言中写道:Theunsignedintegertypesareidealforusesthattreatstorageasabitarray.Usinganunsignedinsteadofaninttogainonemorebittorepresentpositiveintegersisalmostneveragoodidea.Attemptstoensurethatsomevaluesarepositivebydeclaringvariablesunsignedwilltypicallybedefeatedbytheimplicitco

c++ - 调用 std::max 时出现问题

我在VisualStudio中编译了我的Bison生成的文件并得到了这些错误:...\position.hh(83):errorC2589:'(':illegaltokenonrightsideof'::'...\position.hh(83):errorC2059:syntaxerror:'::'...\position.hh(83):errorC2589:'(':illegaltokenonrightsideof'::'...\position.hh(83):errorC2059:syntaxerror:'::'对应的代码是:inlinevoidcolumns(intcount=1

c++ - 警告 C4003 和错误 C2589 和 C2059:x = std::numeric_limits<int>::max();

此行在一个小型测试程序中正常工作,但在我想要它的程序中,我收到以下编译器投诉:#includex=std::numeric_limits::max();c:\...\x.cpp(192):warningC4003:notenoughactualparametersformacro'max'c:\...\x.cpp(192):errorC2589:'(':illegaltokenonrightsideof'::'c:\...\x.cpp(192):errorC2059:syntaxerror:'::'我得到了相同的结果:#includeusingnamespacestd;x=numeri

c++ - 了解 std::hardware_破坏性_interference_size 和 std::hardware_constructive_interference_size

添加了C++17std::hardware_destructive_interference_sizeandstd::hardware_constructive_interference_size.首先,我认为这只是获取L1缓存行大小的一种可移植方式,但这是过于简单化了。问题:这些常量与L1缓存行大小有何关系?是否有一个很好的例子来展示他们的用例?两者都定义为staticconstexpr。如果您构建二进制文件并在具有不同缓存行大小的其他机器上执行它,这不是问题吗?当您不确定您的代码将在哪台机器上运行时,它如何防止错误共享? 最佳答案

c++ - "std::size_t"在 C++ 中有意义吗?

在我继承的一些代码中,我看到经常将size_t与std命名空间限定符一起使用。例如:std::size_tn=sizeof(long);当然,它编译并运行良好。但对我来说,这似乎是一种不好的做法(可能是从C语言继承而来的?)。size_t是不是内置在C++中并因此位于全局命名空间中?在C++中使用size_t是否需要包含头文件?问这个问题的另一种方法是,以下程序(包含no)是否应该在所有C++编译器上编译?size_tfoo(){returnsizeof(long);} 最佳答案 stackoverflow人群似乎对此感到困惑::s

c++ - `sizeof` *真的*评估为 `std::size_t` 吗?它可以?

阅读以下标准段落:[C++11:5.3.3/6]:Theresultofsizeofandsizeof...isaconstantoftypestd::size_t.[Note:std::size_tisdefinedinthestandardheader(18.2).—endnote]现在:[C++11:18.2/6]:Thetypesize_tisanimplementation-definedunsignedintegertypethatislargeenoughtocontainthesizeinbytesofanyobject.当然,这篇文章不需要size_t是用typede

c++ - list::size() 真的是 O(n) 吗?

最近,我注意到有人提到std::list::size()具有线性复杂度。根据somesources,这实际上取决于实现,因为标准没有说明复杂性必须是什么。评论inthisblogentry说:Actually,itdependsonwhichSTLyouareusing.MicrosoftVisualStudioV6implementssize()as{return(_Size);}whereasgcc(atleastinversions3.3.2and4.1.0)doitas{returnstd::distance(begin(),end());}Thefirsthasconstan

golang 在两个 uint 值上使用 math.max 的正确方法是什么?

这就是我做的,非常丑陋。将math.Max用于2uints的正确方法是什么?vs.curView.Viewnum=uint(math.Max(float64(args.Viewnum+1),float64(vs.curView.Viewnum))) 最佳答案 math.Max存在的主要原因是为了确保正确处理IEEE浮点的一些特殊情况(正负无穷大、NaN和有符号零).这些问题与简单整数无关,因此您不妨使用明显的实现。比如:ifargs.Viewnum+1>vs.curView.Viewnum{vs.curView.Viewnum=ar

JSON 整数 : limit on size

是否在任何地方指定了JSON整数的大小?我猜它们仅限于普通(32位)整数,但我找不到任何写下来的地方。我需要在Java中对长的标识符进行编码,所以我认为我需要将它们作为字符串存储在JSON中,以免有溢出的风险。 最佳答案 JSON编号不受thespec的限制.由于JSON是一种抽象格式,并非专门针对JavaScript,实际的目标环境决定了可以解释的内容的边界。还值得注意的是,没有“JSON整数”,它们是“数字”数据类型的子集。 关于JSON整数:limitonsize,我们在Stack

c++ - size_t 和 off_t 的用法有什么区别?

除了每种类型可以容纳的值的大小之外,size_t和off_t在用法方面的主要区别是什么?size_t类型用于绝对大小而off_t类型用于偏移是否只是约定?还是比这更深入?我正在编写一个包装器类,以便使用mmap来写入大文件,我想知道最好的类型用于它们的参数。鉴于我想写入>4GB的文件,我很想对所有内容都使用size_t,但这是最佳做法吗?(或者我应该为某些功能使用一些off64_t类型?)例如,我的writeAt函数是否应该声明为:MMapWriter::writeAt(off64_toffset,constvoid*src,size_tsize)或MMapWriter::writeA