小编han*_*rik的帖子

为什么C ++ 11使std :: string :: data()添加一个空终止符?

以前这是std::string::c_str()工作,但是从C ++ 11开始,data()它也提供了工作,为什么还要c_str()添加null终止字符std::string::data()?在我看来,这似乎是在浪费CPU周期,如果null终止字符根本不相关而仅data()使用,C ++ 03编译器就不必关心终止符,也不必每次调整字符串大小时,都必须向终止符写入0,但是由于data()-null-guarantee,C ++ 11编译器不得不浪费每次写入字符串大小时都要写入0的周期,因此,这可能会使代码变慢,我想他们有一定理由要添加该保证,那是什么?

c++ string stdstring c++11 c++03

29
推荐指数
3
解决办法
3267
查看次数

Firefox 如何在 devtools -> 网络 -> 响应中搜索文本?

如何在 firefox devtools -> 网络 -> 响应中搜索特定文本?当我执行 ctrl+F 时没有任何反应,当我右键单击时,搜索不是选项之一。 在此输入图像描述

相比之下,在 Chrome 开发工具中很容易,只需按 ctrl+F 就会弹出一个搜索菜单。

firefox firefox-developer-tools

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

在 VS Code 中,如何在同一编辑器组的多个选项卡中打开同一文件?

有时我想打开同一个文件的多个选项卡,每个选项卡专注于不同的行/方法,在 Eclipse 中这很容易,但我还没有找到在 VS Code 中做到这一点的方法?Eclipse 执行此操作的屏幕截图: 在此输入图像描述

分割视图还不够,现在我使用的是 14 英寸笔记本电脑,没有额外的显示屏,笔记本电脑屏幕太小,无法舒适地使用分割视图。

tabs visual-studio-code

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

c ++如何创建包含大小未初始化字节的std :: string?

我需要一个 std::stringsize字节,在构造它之后,我将在读取之前写入该字符串中的每个字节,因此空初始化字符串是浪费 cpu,这是有效的:

std::string s(size,0);
Run Code Online (Sandbox Code Playgroud)

但它只是有点浪费,它基本上就像calloc()在我需要的时候使用一样malloc(),所以问题是,我如何构造一个 X 未初始化字节的字符串?

(使用 Reserve()+push 不是一种选择,因为我将字符串提供给 C-api 以char*,size进行实际初始化)

编辑:此线程似乎与相同的问题/相关(但使用向量而不是字符串):C++11 中的值初始化对象和 std::vector 构造函数

c++ optimization std stdstring

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

PHP 的 ERA 常量是什么意思?

PHP 至少从 PHP 4.3.0(可能更长)开始就有“ERA=131116”常量: https: //3v4l.org/XYZZ1

但是这是什么意思?它是干什么用的?get_defined_constants($categorize = true);将它放在“标准”类别下,这对我没有多大帮助,谷歌搜索似乎没有发现任何有用的东西,我能找到的唯一记录的常量看起来类似是IntlCalendar::FIELD_ERA,这是一个0(与131116相去甚远,我猜它不相关)

php constants

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

PHP8.0.0 中发生了什么来破坏 usort(...(int)(strlen($a)<strlen($b)));?

编码

<?php
$consts = get_defined_constants();
$consts = array_keys($consts);
usort($consts,function($a,$b){return (int)(strlen($a)<strlen($b));});
foreach($consts as $const){
    echo strlen($const).": ".$const."\n";
}
Run Code Online (Sandbox Code Playgroud)

将在 PHP 8.0.0 之前按照我的预期从最长到最短打印所有定义的常量。7.3.13 开始于

62: SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE
62: SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE
60: SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE
60: SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE
51: SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX
Run Code Online (Sandbox Code Playgroud)

但我不知道 PHP8.0.0 做了什么,它的输出开始于:

9: E_WARNING
21: FILTER_FLAG_STRIP_LOW
7: E_ERROR
26: FILTER_FLAG_STRIP_BACKTICK
Run Code Online (Sandbox Code Playgroud)

你可以在 3v4l 上看到它:https ://3v4l.org/MP2IF

那么在 PHP 8.0.0 中发生了什么来破坏这段代码呢?

php usort php-8

4
推荐指数
3
解决办法
1296
查看次数

在 mysql8 中,为什么 DATE DEFAULT CURRENT_DATE 需要在 CURRENT_DATE 周围加上括号?

从 mysql8 开始,这是合法的:

CREATE TABLE t (d DATETIME DEFAULT CURRENT_TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)

这是合法的:

CREATE TABLE t (d DATE DEFAULT (CURRENT_DATE));
Run Code Online (Sandbox Code Playgroud)

那么为什么这是非法的呢?

CREATE TABLE t (d DATE DEFAULT CURRENT_DATE);
Run Code Online (Sandbox Code Playgroud)

导致

查询错误 (1064):第 1 行“CURRENT_DATE)”附近存在语法错误

mysql sql default create-table

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

如何解析imagick识别的标准输出?

当我跑步时

wget -q -O- 'https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png' | magick identify -verbose -
Run Code Online (Sandbox Code Playgroud)

我明白了

Image: /tmp/magick-25620GqQdCVSm3pGs
  Base filename: -
  Format: PNG (Portable Network Graphics)
  Mime type: image/png
  Class: DirectClass
  Geometry: 158x158+0+0
  Units: Undefined
  Colorspace: sRGB
  Type: PaletteAlpha
  Base type: Undefined
  Endianess: Undefined
  Depth: 8-bit
  Channel depth:
    red: 8-bit
    green: 8-bit
    blue: 8-bit
    alpha: 8-bit
  Channel statistics:
    Pixels: 24964
    Red:
      min: 0  (0)
      max: 255 (1)
      mean: 204.299 (0.801172)
      standard deviation: 97.6901 (0.383099)
      kurtosis: 0.551289
      skewness: -1.57203
      entropy: 0.667467
    Green:
      min: 0  (0)
      max: …
Run Code Online (Sandbox Code Playgroud)

parsing imagemagick-identify

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

如何删除 PHP int 中的位标志?

假设我有

$flags=JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE;
Run Code Online (Sandbox Code Playgroud)

我怎样才能从中删除 JSON_UNESCAPED_SLASHES $flags

php flags bit-manipulation

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

如何在 Windows 10 中的 VB6 上编译 Winsock Control 6.0?

尝试在 Windows 10 上的“Winsock Control”组件中进行编译时,出现此错误:

mswinsck.ocx 无法加载

图片

值得注意的是,我已经安装了 VB6 SP6,并且使用 SP6,它在 Windows 8.1 和 Windows 7 上运行良好,但无法在 Windows 10 上编译。

同样值得注意的是,.exe从 Win7/8编译时编译的ws2_32.dll. 这只是编译步骤在Win10上不起作用。

运行 Dependency Walker,depends.exesuggestmswinsck.ocx无法加载,因为它依赖于API-MS-WIN-CORE-SYNCH-L1-2-0.DLLAPI-MS-WIN-CORE-PROFILE-L1-1-0.DLL以及API-MS-WIN-CORE-PROCESSTHREADS-L1-1-0.DLL一堆具有相似名称的其他 DLL(我认为这些 DLL 与 SysWOW64 有关系),无法找到:

图片

有谁知道如何在Win10上的VB6中的“Winsock Control”中进行编译?

(另外值得注意的是,似乎 MSFlexGrid 组件在 Win10 上以类似的方式无法编译,但这个问题是关于 WinSock 控件,而不是 MSFlexGrid)。

编辑:附加信息:我已经安装了“VB6 Service Pack 6”,VB 版本是“版本 9782 VBA 零售 6.0.9782”,并且mswinsck.ocx文件本身的版本是6.1.97.82(并且由于评论,我知道存在更新的版本:6.1.98.16)

vb6 winsock windows-10

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