小编Ale*_*lex的帖子

char[] 和 int[] 的区别

最近,我看了一个视频,其中说当我定义一个整数数组时

int my_array[] = {1,2,3};
Run Code Online (Sandbox Code Playgroud)

然后我打印了 my_arraycout << my_array;然后我会得到内存中第一个整数的地址,但是当我们定义一个字符数组时

char my_string[] = "Hello";
Run Code Online (Sandbox Code Playgroud)

然后当我尝试打印 my_string 时,cout << my_string它返回Hello,当我们定义一个指向字符的指针时,它与指针类似

char mystring[] = "HELLO";
char *my = mystring;
cout << my << endl;//HELLO
Run Code Online (Sandbox Code Playgroud)

我们尝试打印返回字符串的指针变量。

现在我读了这篇文章,我读到这个字符串带着他的内存地址。但是我仍然无法弄清楚为什么它们不相同以及为什么字符数组打印字符串文字而 int 数组打印第一个的地址。

提前致谢。

c++ arrays pointers operator-overloading implicit-conversion

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

获取 puppeteer 中元素的子元素

所以我的目标是计算一个 div 类中包含多个 div 的子级的数量;我通过选择 div 然后使用children属性来做到这一点,然后我计算子项及其length属性并打印它。

为了实现我的目标,我尝试在 puppeteer 中实现此代码:

$('div[data-test-selector="center-window__content"]').children
Run Code Online (Sandbox Code Playgroud)

(在 chrome 调试控制台上完美运行)

这是我转换后的代码:

let childrens = await page.evaluate(() => document.querySelector('div[data-test-selector="center-window__content"]'), i => Array.from(i.children));
Run Code Online (Sandbox Code Playgroud)

然而,该表达式的计算结果为undefined

在他们的文档中evaluate说:

如果传递给 page.evaluate 的函数返回不可序列化的值,则 page.evaluate 解析为 undefined。

这里是这样吗?我该如何修复它?

提前致谢。

编辑

所以最后我认为木偶操作者由于某种原因无法序列化子数组。

我最终使用了它:

const notifs = await page.evaluate(() => {
            return (Array.from(document.querySelector('[data-test-selector="center-window__content"]').children).length);
})
Run Code Online (Sandbox Code Playgroud)

感谢@TerryLennox 的帮助。

jquery node.js puppeteer

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

表达式后 ++ 运算符的问题

所以我有这个 javascript 代码:

let version = "v179";
version = (parseInt(version.replace("v","")))++;
console.log("got:",version);
Run Code Online (Sandbox Code Playgroud)

但我收到此错误Uncaught ReferenceError: Invalid left-hand side expression in postfix operation。但是,如果我+++ 1任何想法替换它,它会起作用吗?为什么我不能为此使用增量运算符?

提前致谢。

javascript

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

链式 if 和 else if 之间的区别

所以我有一个问题,我现在已经有很长一段时间了,使用 else if 和链式 if 语句之间有什么区别,它们不是产生相同的东西吗?例如,以这个基本示例为例:


short age {0};
std::cin >> age;

if(age > 18) cout << "You are an adult";
if(age < 18) cout << "YOu are a teen";
if(age == 0) cout << "YOu are born";

Run Code Online (Sandbox Code Playgroud)


short age {0};
std::cin >> age;

if(age > 18) cout << "You are an adult";
else if(age < 18) cout << "YOu are a teen";
else if(age == 0) cout << "YOu are born";

Run Code Online (Sandbox Code Playgroud)

它们有何不同?

c++

2
推荐指数
1
解决办法
121
查看次数

如何获取双端队列的容量?

所以我最近介绍了双端队列,我想知道是否有任何方法可以访问 acapacity()的 a std::deque,就像我们在 a 上所做的那样std::vector

我发现这个成员函数std::deque::max_size但这代表:

双端队列容器可以作为内容容纳的元素的最大数量。

并且不符合我想要的。

有任何想法吗?

c++ deque

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