小编hsh*_*hib的帖子

如何在gdb中将void指针转换为unique_ptr <T>?

我喜欢unique_ptr<T>使用任意类型T强制返回一个空指针,以便可以取消引用它的内容。但是用下面的简单例子:

#include <memory>

class Foo {
public: Foo(){};
};

int main() {
  std::unique_ptr<Foo> p1 (new Foo);
  void *p2 = (void*)&p1;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误,无法投射:

$ gdb ./unique-ptr
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
...
(gdb) b 10
Breakpoint 1 at 0x400682: file unique-ptr.cc, line 10.
(gdb) run
Starting program: /home/vagrant/c-test/unique-ptr/unique-ptr

Breakpoint 1, main () at unique-ptr.cc:10
10        return 0;
(gdb) p p1
$1 = std::unique_ptr<Foo> containing 0x603010
(gdb) p p2
$2 = (void *) 0x7fffffffea40
(gdb) p *(std::unique_ptr<Foo>*)p2
A …
Run Code Online (Sandbox Code Playgroud)

c++ templates gdb g++

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

PowerShell 中的模糊字符串匹配

如何在 PowerShell 脚本中进行模糊字符串匹配?

我从不同的来源抓取了不同的人名,并将它们存储在一个数组中。添加新名称时,我喜欢将名称与现有名称进行比较,如果它们模糊匹配,我喜欢将它们视为相同。例如,使用以下数据集:

@("George Herbert Walker Bush",
  "Barbara Pierce Bush",
  "George Walker Bush",
  "John Ellis (Jeb) Bush"  )
Run Code Online (Sandbox Code Playgroud)

我喜欢从给定的输入中看到以下输出:

"Barbara Bush" -> @("Barbara Pierce Bush")
"George Takei" -> @("")
"George Bush"  -> @("George Herbert Walker Bush","George Walker Bush")
Run Code Online (Sandbox Code Playgroud)

至少,我喜欢看到匹配不区分大小写,并且如果可能的话,也足够灵活以处理一定程度的拼写错误。

据我所知,标准库不提供这样的功能。是否有一个易于安装的模块可以实现这一点?

powershell fuzzy-search

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

标签 统计

c++ ×1

fuzzy-search ×1

g++ ×1

gdb ×1

powershell ×1

templates ×1