草庐IT

size_type

全部标签

C++ "size_t"不需要 "cstddef" header ?

我正在通过C++Primer这本书学习C++,它说“size_t”在“cstddef”header中定义,但在本练习中:#includeusingnamespacestd;intmain(){intar[10];for(size_tx=0;x没有包含header,VisualStudio2017(和c++shell)编译程序没有错误。 最佳答案 size_t真的是一个灰色地带。std::size_t是sizeof的结果类型,但是sizeof是一个内置运算符,您可以在没有任何#include的情况下使用根本。考虑这个完整的小程序://

c++ - 警告 C4244 : 'argument' : conversion from 'SIZE_T' to 'DWORD' , 可能丢失数据

我需要在我的代码中有一组重载函数,但我得到了转换wanrings。这是一个测试代码:#includewindows.hvoidf(DWORDarg){...}//voidf(SIZE_Targ){}voidmain(void){DWORDdword=0;SIZE_Tsize_t=dword;f(size_t);}编译器给出警告:test.cpp(11):warningC4244:'argument':conversionfrom'SIZE_T'to'DWORD',possiblelossofdata如果我取消注释voidf(SIZE_Targ)我得到test.cpp(5):errorC

c++ - C++ 代码错误 "expected constructor, destructor, or type conversion before ‘(’ token ”和 "no matching function for call to ..."

真正尝试解决错误,仔细检查所有内容。请帮忙。c++新手,请多关照。头文件(.h)#ifndefGUARD_Optimized_quick_sort_h#defineGUARD_Optimized_quick_sort_h#include#include#includeusingnamespacestd;templateclassoptimized_quick_sort{public:optimized_quick_sort(vectorarray){this->array=array;}optimized_quick_sort(listarray){vectortemp(array.b

c++ - 提升精神 : how to convert basic types?

假设我有一个std::string属性,但为了便于解析,我想使用qi::int_或qi::double_.是否有一种简单的方法可以将转换作为语义操作进行?我试过这样的:std::stringstreamss;my_int_as_str=qi::int_[ref(ss)但这甚至无法编译。编辑-尝试使用下面sehe的回答#include#include#include#includenamespaceqi=boost::spirit::qi;namespacephx=boost::phoenix;intmain(intargc,char*argv[]){std::stringtest="1

c++ - '*(<type> *) &x' 和 'x' 有什么区别?

有什么区别inti=123;intk;k=*(int*)&i;cout和inti=123;intk;k=i;cout它们都给出相同的输出,但有什么不同吗?(我在快速平方根反函数的Quake3代码中找到了第一个片段) 最佳答案 第三季度:floatQ_rsqrt(floatnumber){longi;floatx2,y;constfloatthreehalfs=1.5F;x2=number*0.5F;y=number;i=*(long*)&y;//evilfloatingpointbitlevelhackingi=0x5f3759df

c++ - 从 std::tuple<some_types...> 开始创建子元组

让我们假设一个std::tuple给出。我想创建一个新的std::tuple其类型是在[0,sizeof...(some_types)-2]中索引的类型.例如,假设起始元组是std::tuple.我想获得一个定义为std::tuple的子元组.我对可变参数模板很陌生。作为第一步,我尝试写一个struct负责存放不同类型的原件std::tuple目的是创建一个新的同类元组(如std::tuplenew_tuple)。templatestructtype_list;templatestructtype_list:publictype_list{typedefTtype;};template

c++ - std::array 成员函数 empty()、max_size() - 无用但为了一致性?

这些成员函数是否像它们看起来和存在的那样无用,只是为了提供与其他容器的一致性?例如:std::arrayarray1;//sizeof4(butnoelementsinitialized)std::arrayarray2;//sizeofzero.array1.empty();//false-notemptyeventhoughnoelementsareinitializedarray2.empty();//true-emptyandnowaytoaddelementsarray1.size();//roomforfournowarray1.max_size();//roomforfo

K8S Nginx Ingress Controller client_max_body_size 上传文件大小限制

现象k8s集群中,上传图片时,大于1M就会报错413RequestEntityTooLargeNginxIngressController的版本是0.29.0解决方案1.修改configmapkubectleditconfigmapnginx-configuration-ningress-nginx在ConfigMap的data字段中设置参数:data:proxy-body-size:"30m"示例:apiVersion:v1kind:ConfigMapmetadata:name:nginx-configurationnamespace:ingress-nginxlabels:app.kube

c++ - 将 vector size() 带出循环条件进行优化

fibs是一个std::vector。使用g++,我被建议将fibs.size()带出循环,以节省每次计算它(因为vector可能会改变)intsum=0;for(inti=0;i当然,编译器中有一些数据流分析会告诉我们fib不会改变大小。在那儿?或者我应该将其他一些变量设置为fibs.size()并在循环条件中使用它吗? 最佳答案 编译器可能会确定它不会改变。即使是这样,vector的size()也是一个O(1)操作。 关于c++-将vectorsize()带出循环条件进行优化,我们在

c++ - C++ 中 vector 的 .size() 到底做了什么?

换句话说,.size()是在调用时计算vector对象的每个元素并返回此值,还是vector对象有一个(size_t?)成员保存vector中当前元素的数量,并且该成员的值由.size()返回? 最佳答案 对std::vector::size的调用究竟做什么取决于标准库的特定实现。但是,该标准对它能做什么和不能做什么设置了一些约束。特别是,它需要调用size才能在恒定时间内执行,这意味着它无法对元素进行计数(这与容器大小成线性关系,而不是常数)。一个vector的实现需要一个指向vector开头的指针,然后是另外两条信息:vecto