草庐IT

new_size

全部标签

c++ - 如何在 C++ 中使用 new 运算符初始化内存?

我刚开始接触C++,我想养成一些好习惯。如果我刚刚使用new运算符分配了一个类型为int的数组,如何在不自己循环遍历它们的情况下将它们全部初始化为0?我应该只使用memset吗?有没有“C++”的方式来做到这一点? 最佳答案 这是一个令人惊讶的C++鲜为人知的特性(这一点可以从没有人给出这个答案的事实中得到证明),但它实际上具有用于对数组进行值初始化的特殊语法:newint[10]();请注意,您必须使用空括号——例如,您不能使用(0)或其他任何东西(这就是为什么这只对值初始化有用)。这是ISOC++035.3.4[expr.new

c++ - 何时使用 std::size_t?

我只是想知道我应该使用std::size_t来代替int吗?例如:#includeintmain(){for(std::size_ti=0;i一般而言,关于何时使用std::size_t的最佳做法是什么? 最佳答案 一个好的经验法则是,您需要在循环条件中与自然是std::size_t本身的东西进行比较。std::size_t是任何sizeof表达式的类型,并且保证能够表示C++中任何对象(包括任何数组)的最大大小.通过扩展,它还保证对于任何数组索引都足够大,因此它是数组索引循环的自然类型。如果您只是计算一个数字,那么使用保存该数字的

c - 这个错误是什么意思: `somefile.c:200: error: the frame size of 1032 bytes is larger than 1024 bytes` ?

在制作过程中,我看到如下错误:cc1:warningsbeingtreatedaserrorssomefile.c:200:error:theframesizeof1032bytesislargerthan1024bytes行号指向具有如下签名的c函数的右大括号:voidtrace(SomeEnum1p1,SomeEnum2p2,char*format,...){charstrBuffer[1024];...该函数将一些内容打印到缓冲区中。有谁知道这种类型的错误一般是什么意思? 最佳答案 我猜该例程中有一些大缓冲区是堆栈分配的;这可

c++ - 为什么 string::find 返回 size_type 而不是迭代器?

在C++中,为什么string::find返回size_type而不是iterator?这是有道理的,因为像string::replace或string::insert这样的函数将迭代器作为输入,所以你可以find一些字符并立即将返回的迭代器传递给replace等另外,std::find返回一个迭代器——为什么std::string::find不同? 最佳答案 当Stroustrup将标准委员会介绍给STL时,标准库Shiny的新字符串类的设计已经完成。委员会喜欢STL并开始将其纳入标准,从而调整了他们已经同意的大部分内容(并且可能

c++ - 为什么 string::find 返回 size_type 而不是迭代器?

在C++中,为什么string::find返回size_type而不是iterator?这是有道理的,因为像string::replace或string::insert这样的函数将迭代器作为输入,所以你可以find一些字符并立即将返回的迭代器传递给replace等另外,std::find返回一个迭代器——为什么std::string::find不同? 最佳答案 当Stroustrup将标准委员会介绍给STL时,标准库Shiny的新字符串类的设计已经完成。委员会喜欢STL并开始将其纳入标准,从而调整了他们已经同意的大部分内容(并且可能

javascript - 将 .apply() 与 'new' 运算符一起使用。这可能吗?

在JavaScript中,我想创建一个对象实例(通过new运算符),但将任意数量的参数传递给构造函数。这可能吗?我想做的是这样的(但下面的代码不起作用):functionSomething(){//initstuff}functioncreateSomething(){returnnewSomething.apply(null,arguments);}vars=createSomething(a,b,c);//'s'isaninstanceofSomething答案从这里的响应中可以清楚地看出,没有内置方法可以使用new运算符调用.apply()。然而,人们提出了一些非常有趣的解决方案

javascript - JavaScript 的 "new"关键字是否被认为是有害的?

在另一个question,一位用户指出new关键字使用起来很危险,并提出了一个不使用new的对象创建解决方案.我不相信这是真的,主要是因为我使用过Prototype、Scriptaculous和其他优秀的JavaScript库,而且他们都使用了new。关键词。尽管如此,昨天我在YUI剧院看DouglasCrockford的演讲,他说了同样的话,他没有使用new。他的代码中不再有关键字(CrockfordonJavaScript-ActIII:FunctiontheUltimate-50:23minutes)。使用new是不是“不好”?关键词?使用它的优点和缺点是什么?

javascript - JavaScript 中的 'new' 关键字是什么?

JavaScript中的new关键字在第一次遇到时可能会让人很困惑,因为人们倾向于认为JavaScript不是一种面向对象的编程语言。这是什么?它解决了什么问题?什么时候合适,什么时候不合适? 最佳答案 它做了5件事:它创建了一个新对象。这个对象的类型就是object。它将这个新对象的内部、不可访问的[[prototype]](即__proto__)属性设置为构造函数的外部、可访问的prototype对象(每个函数对象都自动具有prototype属性)。它使this变量指向新创建的对象。每当提到this时,它都会使用新创建的对象执行

MongoDB - $size 的参数必须是一个数组,但类型为 : EOO/missing

尝试使用icCube创建MongoDB数据源.这个想法是将数组的大小作为新字段返回。类似的东西:$project:{"people":1,"CountmyFieldArray":{$size:"$myFieldArray"}}但我收到以下错误记录:Theargumentto$sizemustbeanArray,butwasoftype:EOO如果字段为空或不是数组,有没有办法将大小设为0(消除错误)? 最佳答案 您可以使用$ifNull运营商在这里。似乎该字段不是数组或给定错误不存在:{"$project":{"people":1,

node.js - 判断预保存回调中是否有记录 "is new"

有没有办法在Mongoose模型模式的预保存回调中找出记录是否“是新的”(尚未保存)? 最佳答案 是的,有一个isNew模型实例上的bool属性,表明这一点。从您的预保存中间件中以this.isNew的身份访问它。 关于node.js-判断预保存回调中是否有记录"isnew",我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12092772/