考虑这种情况.
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)
我们应该从我们投入承诺的函数中返回什么?这个值被忽略了吗?
Boolean.valueOf的Typeof是一个函数但是它做了什么?为什么对象版本的基元具有像Array.valueOf这样的方法?它与例如Boolean.prototype.valueOf不同......
另外,Boolean.toString()的重点是它只返回:"function Boolean(){[native code]}".还有像Array,Number这样的其他对象......
你能解释一下它为什么会起作用以及为什么它会为我返回1.什么类型的?它有用吗?
#include <iostream>
class Foo
{
};
int main ()
{
Foo a(int x) ;
std::cout << a;
}
Run Code Online (Sandbox Code Playgroud) 这就是事情.我可以完全理解多维数组的概念(让我们考虑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)
我们得到的是:(检查我是否在这里)
现在问题是当我们这样做时:
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
c++ ×2
javascript ×2
arrays ×1
boolean ×1
function ×1
pointers ×1
promise ×1
return-value ×1
syntax ×1