以下两个(或都不/两个)代码片段中的哪个应在完整的ECMAScript 2015实现中工作: for (const e of a) for (const i = 0; i < a.length; i += 1) 据我了解,第一个示例应该有效,因为它e是为每次迭代初始化的。i在第二个版本中也不应该这样吗? 我很困惑,因为现有的实现(Babel,IE,Firefox,Chrome,ESLint)似乎不一致,并且具有的完整实现,并且具有const两个循环变体的各种行为。我也无法在标准中找到具体点,因此将不胜感激。
据我了解,const修饰语应从右至左阅读。从中我得到: const char* 是一个指针,其char元素不能被修改,但是指针本身可以被修改,并且 char const* 是mutablechar的常量指针。 但是,以下代码出现以下错误: const char* x = new char[20]; x = new char[30]; //this works, as expected x[0] = 'a'; //gives an error as expected char const* y = new char[20]; y = new char[20]; //this works, although the pointer should be const (right?) y[0] …