草庐IT

max_packet_size

全部标签

c++ - 为什么FLT_MAX和FLT_MIN不是正负无穷大,它们有什么用?

从逻辑上讲,考虑到浮点值的性质,float的最大和最小可表示值分别是正无穷和负无穷。那么,为什么没有设置FLT_MAX和FLT_MIN呢?我知道这是“标准所要求的”。但是,use可以FLT_MAX或FLT_MIN拥有什么,因为它们目前位于的可表示数字范围的中间float?其他数字限制有一些实用性,因为它们可以保证比较(例如“没有INT可以测试大于INT_MAX”)。如果没有这种保证,这些float限制有什么用?一个激励C++的例子:#include#includetemplateTfind_min(conststd::vector&vec){Tresult=std::numeric_l

c++ - 新的 int[size] 与 std::vector

为了分配动态内存,我一直在C++中使用vector。但是最近,在阅读一些源代码时,我发现了“newint[size]”的使用,并在一些研究中发现它也分配了动态内存。谁能给我建议哪个更好?我是从算法和ICPC的角度来看的? 最佳答案 总是更喜欢标准容器。它们具有明确定义的复制语义,异常安全,并正确释放。当你手动分配时,你必须保证释放代码被执行,并且作为成员,你必须编写正确的复制赋值和复制构造函数,在异常情况下做正确的事情而不会泄漏。手动的:int*i=0,*y=0;try{i=newint[64];y=newint[64];}catc

c++ - 3ds max 到 C++/DirectX 应用程序方向转换

我想将对象从3dsmax导出到我的C++/DirectX应用程序,但我遇到了方向导出的问题。3dsmax使用右手Z-up坐标系,而我的应用程序使用左手Y-up坐标系。我用{x,y,z,w}整个问题中的组件符号。我在3dsmax中有3个骨骼(或任何其他分层对象):为了导出它们的方向,我使用MaxScript:ifhasParentthenlocalOrientation=boneNode.transform.rotationPart*inverseboneNode.parent.transform.rotationPartelselocalOrientation=boneNode.tra

c++ - &arr[size] 有效吗?

假设我有一个函数,调用如下:voidmysort(int*arr,std::size_tsize){std::sort(&arr[0],&arr[size]);}intmain(){inta[]={42,314};mysort(a,2);}我的问题是:mysort(更具体地说,&arr[size])的代码是否已经定义了行为?我知道如果替换为arr+size会完全有效;指针算法允许正常指向末尾。但是,我的问题具体是关于&和[]的使用。根据C++115.2.1/1,arr[size]等价于*(arr+size)。引用5.3.1/1,一元*的规则:Theunary*operatorperfo

c++ - 那里有 "function size profiler"吗?

在从事C++项目三年后,可执行文件已增长到4MB。我想看看所有这些空间的去向。有没有工具可以报告最大的太空pig是什么?很高兴看到按类(类中的所有函数)、按模板(所有实例化)和按库(有多少属于C标准库和STL?exe中的每个库有多少?)编辑:注意,我在Windows上使用VisualC++。 最佳答案 在Linux中,您可以使用nm显示可执行文件中的所有符号并按大小倒序排序:$nm-CSr--size-sort选项:-C对C++名称进行解码。-S显示符号的大小。--size-sort按大小对符号进行排序。-r反转排序。如果你想获得每

C++ vector max_size();

在32位系统上。std::vector::max_size()返回232-1,大小为char—1个字节std::vector::max_size()返回230-1,大小为int—4字节std::vector::max_size()返回229-1,大小为double—8字节谁能告诉我max_size()取决于什么?max_size()的返回值是多少?如果它在64位系统上运行。 最佳答案 max_size()是理论上可以放入vector中的最大项目数。在32位系统上,理论上您可以分配4Gb==2^32,即2^32char值、2^30in

c++ - c++ size_t在linux中定义在哪里

现在我正在谈论程序员使用typedef关键字定义的新类型。只要我的学生习惯了size_t类型(例如通过使用函数length()),我不得不让他们稍微努力“相信”它是一个整数类型,我认为它会很棒向他们展示这种类型的定义位置。所以,我在Ubuntu机器中的/usr/include中做了很多grep,我看到size_t是size_type的重新定义,而size_type又是metadata_type的重新定义,这就是在这个目录下结束。没有找到最终的“typedefunsignedintmetadata_type;”。在/usr/src中,我发现了另一个名为yy_size_t的先前类型,...

c++ - 为什么在 Mac OS X 上使用 size_t 时 uint32_t 和 uint64_t 之间存在歧义?

考虑以下示例代码:#include#includeusingnamespacestd;intf(uint32_ti){return1;}intf(uint64_ti){return2;}intmain(){cout这在MacOSX上失败:$g++--versioni686-apple-darwin10-g++-4.2.1(GCC)4.2.1(AppleInc.build5664)$maketestg++test.cc-otesttest.cc:Infunction'intmain()':test.cc:23:error:callofoverloaded'f(size_t&)'isamb

c++ - cin.ignore(numeric_limits<streamsize>::max(), '\n'); max() 无法识别

我正在介绍C++,我在Win7上使用VStudio2013。我尽量避免从我的菜单中输入错误的数据,它在除此之外的所有菜单中都有效。cout>move2;if(move2size){cout唯一的区别是在move>的条件中是一个变量(大小)而不是一个数字。当我输入一个字符时,它会回到要求另一个输入的问题,但是如果我输入一个单词,它就会中断!我尝试使用cin.ignore(numeric_limits::max(),'\n');但编译器会突出显示max()它说“期望标识符”。对于你们所有优秀的程序员来说,这可能很容易,但我不知道如何解决它。有人可以帮帮我吗? 最

c++ - 如何编写适用于任何类型集合对象的 size() 函数?

我需要一种简单的方法来获取T类对象的计数/长度/大小在哪里T是某种集合类型,例如std::map,std::list,std::vector,CStringArray,CString,std::string,……对于大多数标准类型,T::size()是正确答案,对于大多数MFC类T::GetSize()是正确的,对于CString,是T::GetLength().我想点个赞:templateautosize(constT&t)...计算出正确的成员函数调用。似乎应该有一种简单的方法来调用T上的特征模板其中有一个size(constT&t)成员,它本身使用SFINAE存在或不存在,如果存