草庐IT

APPLE_SIZE_KEY

全部标签

c++ - 将 STL 容器与包含其自身 key 的类一起使用

我有一个对象,可以通过它的名字来识别,我想把它放在在其中一个STL容器中。classMyClass{public://gettersandsetters,otherfunctionsprivate:std::stringname;//othermembervariables};所以起初我认为类map结构的使用与我的情况无关,因为在那些结构中,标识符(键)与类本身。使用映射,我必须返回名称变量并将其复制到类“外部”(浪费内存且不合逻辑,违反了OOP规则)。我的下一个目标是使用类似集合的结构。在这种情况下,我只有关键字段,我在其中加载整个对象。使用此方法,我必须重载我的和==运算符才能将对

c++ - C4244 : '+=' : conversion from 'std::streamsize' to 'size_t' , 可能丢失数据

我已将我的VC++项目从VS2008迁移到VS2013并收到一些警告,例如:C4244:'+=':conversionfrom'std::streamsize'to'size_t',possiblelossofdata.如何解决这些类型的警告? 最佳答案 在MSVC2013中std::streamsize是:typedef_Longlongstreamsize;typedef_LONGLONG_Longlong;#define_LONGLONG__int64size_t是:typedefunsigned__int64size_t;因

c++ - 具有负值的 size_t 算术

我被要求复制一份std::string在作业中,我在执行substr时遇到问题功能。在老师给我们的一组测试中,有一个测试是length等于-1.矿山申报substr是:Cadenasubstr(size_tstart,size_tlength)const;我(认为)size_t会阻止传递负值。问题是在定义中我检查了size()(假设tam_与size()相同):if(tam_在我的系统中-1在unsigned是18446744073709551615,因此,例如假设开始是9和tam_是10.我希望:10这样抛出异常,但实际上我得到了10这是错误的,不会抛出异常。随着函数的继续,它分配了

运行java命令时报错Error: opening registry key ‘Software\JavaSoft\Java Runtime Environment‘

cmd运行java命令时报错Error:openingregistrykey‘Software\JavaSoft\JavaRuntimeEnvironment’cmd使用java+任何参数都报这个错误,具体报错情况如下:报错解释说明:1.Error:openingregistrykey‘Software\JavaSoft\JavaRuntimeEnvironment’说明:打开注册表Software\JavaSoft\JavaRuntimeEnvironment失败(去注册表查看,没有找到该目录)2.Error:couldnotfindjava.dll说明:未找到java.dll文件3.Err

c++ - vector.size() 的 GDB 错误值

一个简单的vector.push_back()导致我的代码出现一些错误:#includeusingnamespacestd;intmain(intargc,constchar*argv[]){vectorstack;stack.push_back(1);stack.push_back(1);//stack.size()becomes467369971afterthisstack.push_back(1);stack.push_back(1);...morepush_back()s...return0;}我正在使用GDB检查它的行为...奇怪的是stack.size()在第二个push_

aes - 从 C++ 代码和命令行生成相同的 key 和 IV

我的命令行工具openssl有问题,或者我的C++代码有问题。我不知道哪个是不正确的,但是当我使用这两种方法从密码阶段和盐生成key和IV时,我没有得到相同的key/IV值。您看到的代码或命令行是否有任何拼写错误或问题?是不是openssl0.9.8i的版本坏了?我使用的nround值为1,因为命令行无法传递迭代计数值。它应该是匹配的,但它不是,我无法发现我的错误在哪里。-----------------ThefollowingcodeencryptsthestringXYZcorrectlyas2OG7CNt/SjFEZ4RM3ZS4ZA==withKey:eaa4d33f9f6a9

c++ - Visual Studio 2010 C++ : malloc()/HeapAlloc always allocates new page for even smallest alloc size

我有一个相当大的C/C++项目,我一直在试图找出它消耗过多内存的原因(通过任务管理器中的“工作集”判断)。我终于找到了奇怪的行为,即使是最小的malloc()请求,它也会分配一个全新的4k页面。像这样的代码for(intbla=0;bla这应该会增加区区10KB的内存消耗,最终会增加4MB,因为它分配了1000个4kB。真正令人沮丧的部分是我无法将其作为独立文件重现。仅包含上述代码的小型应用程序就可以正常工作。只有大项目才会表现出错误的行为。直接回答一些明显的建议:我正在引入与大项目相同的库,并确保编译标志相同"new"的行为方式相同在Debug和Release模式下都会发生我真的追踪

c++ - 我应该如何在恒定长度的 STL 样式数据结构中实现 max_size?

假设我实现了一个类似于动态数组的常量数据结构。即,我给数据结构一个长度l在构造函数中。然后,该数据结构的实例将永远无法容纳比l更多的元素。.我希望该数据结构具有尽可能接近STL的接口(interface)。我应该如何实现max_size这个类的方法?应该是容量l在构造函数中给出?或者应该是std::numeric_limits::max()?此方法的文档说:Returnsthemaximumnumberofelementsthecontainerisabletoholdduetosystemorlibraryimplementationlimitations,i.e.std::dist

c++ - Eigen 与 -O3 警告 : argument 1 value ‘X’ exceeds maximum object size Y

发生了什么当我按照教程onEigenwebsite尝试将Eigen::Vector3f添加到std::vector中时像这样:#include#include#includetemplateusingEigenStdVector=std::vector>;intmain(){EigenStdVectorvec;vec.emplace_back(1.0f,1.0f,1.0f);std::cerr我收到以下警告:Infileincludedfrom/usr/include/eigen3/Eigen/Core:349:0,from/home/igor/Code/eigen_example/e

c++ - 简单的软件许可证 key 服务器建议?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我的老板想要一个快速、易于集成、易于托管的软件许可服务器来执行许可证激活和到期。我们必须将它与C++Windows服务应用程序集成。我不想在我们的办公室托管该服务,原因与我们不在我们的办公室托管我们自己的网站的原因相同。该服务必须可托管在“云”或普通网络托管公司(例如,通过HTTPS运行的SOAP服务)。我们想要一个简单的免版税解决方案。除了我们自己构建