小编Mic*_*cki的帖子

Promise的解析/拒绝功能的返回值

考虑这种情况.

new Promise(function(resolve, reject) {
    var x = resolve(2);
});
Run Code Online (Sandbox Code Playgroud)

什么价值x?我试图打印它,它告诉我undefined.它很直观,但总是如此吗?是在文档中吗?

第二个问题

new Promise(function(resolve, reject) {
    resolve(2);
    return 5;
});
Run Code Online (Sandbox Code Playgroud)

我们应该从我们投入承诺的函数中返回什么?这个值被忽略了吗?

javascript return-value promise

6
推荐指数
1
解决办法
165
查看次数

什么是JavaScript中的Boolean.valueOf

Boolean.valueOf的Typeof是一个函数但是它做了什么?为什么对象版本的基元具有像Array.valueOf这样的方法?它与例如Boolean.prototype.valueOf不同......

另外,Boolean.toString()的重点是它只返回:"function Boolean(){[native code]}".还有像Array,Number这样的其他对象......

javascript arrays boolean

4
推荐指数
1
解决办法
584
查看次数

解释需要不寻常的代码

你能解释一下它为什么会起作用以及为什么它会为我返回1.什么类型的?它有用吗?

#include <iostream>

class Foo
{
};

int main ()
{
    Foo a(int x) ;
    std::cout << a;
}
Run Code Online (Sandbox Code Playgroud)

c++ syntax

3
推荐指数
1
解决办法
69
查看次数

C++多维数组和指向表的指针

这就是事情.我可以完全理解多维数组的概念(让我们考虑2D一段时间)由指针指向数组到指针等等......

我们做这样的事情:

// we can use dynamically defined size n and m
int n = 3, m = 5 ;
int **T = new int *[n];
for (int i = 0 ; i < n ; ++i)
    T[i] = new int[m];
Run Code Online (Sandbox Code Playgroud)

我们得到的是:(检查我是否在这里)

  • 3个内存块,5个整数,放在内存中的某个位置
  • 一个额外的内存块,其大小与int的块数(行数)相同.这个块是指向那些int行的指针数组(对于像int这样的指针通常是4个字节).
  • 我们最感兴趣的是 - 类型为(**T)的T - 指向指针的指针.这正是指针数组的指针,因为在C++中,数组实际上是指向内存块的指针,因此t []或t [0]表示*t,t [x]表示*(t + X).

现在问题是当我们这样做时:

int n = 3, m = 5 ;
int T[n][m] ;
Run Code Online (Sandbox Code Playgroud)

我们得到的并不是我以前展示过的东西.我们很奇怪.什么是T?当打印T时,我们得到与T [0]相同的值.看起来我们保留了一个大小为n*m的整数块,而没有额外的行指针数组.

我的问题是:编译器是否记得数组的维度以及行数和列数?当要求T [i] [j]它实际上要求*(T + i*n + j)所以这个n存储在某个地方?问题是当我们试图将这个东西(T)传递给一个函数时.我不知道为什么,但如果n和m是常量,它可以传递T作为指向这个数组的指针,就像在这个程序中一样:

#include <stdio.h>
const int n …
Run Code Online (Sandbox Code Playgroud)

c++ pointers function multidimensional-array dynamically-generated

0
推荐指数
1
解决办法
1371
查看次数