草庐IT

locality-sensitive-hash

全部标签

c++ - 带有 LANG=en_US.UTF-8 的 MacOS 10.6 上的 std::locale 损坏

我有一个要移植到MacOSX(特别是10.6)的C++应用程序。该应用程序大量使用了C++标准库和boost。我最近发现应用中有一些我难以理解的问题。基本上,boost文件系统库在程序运行时会抛出运行时异常。通过一些调试和谷歌搜索,我减少了对以下最小程序的违规调用:#includeintmain(intargc,char*argv[]){std::locale::global(std::locale(""));return0;}当我通过g++运行此程序并在设置了LANG=en_US.UTF-8的环境中执行生成的程序时,该程序失败(在我的计算机上,它是默认bashsession的一部分,

c++ - `thread_local` 全局变量什么时候初始化?

考虑以下示例(为简单起见,省略了cout上的锁守卫)。#include#include#includeusingnamespacestd;structC{C(){cout>select;futuref[10];for(inti=0;i在clang和gcc上,如果用户写入'0',则该程序不输出任何内容,而如果用户输入非零,它会打印Constructor/Destructor10次数字。此外,clang提示明显未使用的表达式结果。由于thread_local存储生命周期应该跨越整个线程的生命周期,我希望foo变量在每个线程中都被初始化,而不管用户输入如何。我可能想要一个thread-loc

c++ - std::hash 可以用来散列函数指针吗?

C++11std::hash类型可以用来散列函数指针吗?有一个hash部分特化定义为templatestructhash;但由于函数指针与C++中的其他指针类型不同(例如,它们不能强制转换为void*),我不确定将它用于以下类型是否安全int(*)()或void(*)(int,int).这是允许的吗?新的ISO规范中是否有任何具体的措辞支持或反驳这一点?谢谢! 最佳答案 很好的问题。我不确定答案,我很乐意听从比我知识更好的人,但我的想法是,即使函数指针与数据指针不同,它们仍然是指针:所以std::hash应该应用部分特化。对于它的值

c++ - 避免返回的 const locals?

我一直认为constlocals是const是件好事voidf(){constresource_ptrp=get();//...}然而,上周我看到学生在做C++练习并且想知道返回的const指针resource_ptrf(){constresource_ptrp=get();//...returnp;}在这里,如果编译器无法应用NRVO(想象在某些情况下这是真的,可能会返回两个指针之一,具体取决于条件),突然const变成了悲观,因为编译器不能从pmove,因为它是const。在返回的本地人上尝试避免const是个好主意,还是有更好的方法来处理这个问题? 最

c++ - 在 Visual Studio 中,与 std::async 一起使用时未调用 `thread_local` 变量的析构函数,这是错误吗?

以下代码#include#include#include#includestd::mutexm;structFoo{Foo(){std::unique_locklock{m};std::coutlock{m};std::coutlock{m};std::cout在macOS中编译和运行宽度clang:clang++test.cpp-std=c++14-pthread./a.out得到结果FooCreatedinthread0x70000d9f2000FooCreatedinthread0x70000daf8000FooCreatedinthread0x70000da75000Footh

c++ - 使用 C 字符串会给出警告 : "Address of stack memory associated with local variable returned"

我不是C程序员,所以我对C-string不是很熟悉,但是现在我必须使用C库,所以这里是我的代码的简化版本来演示我的问题:char**ReadLineImpl::my_completion(){char*matches[1];matches[0]="add";returnmatches;}我收到此警告:Warning-addressofstackmemoryassociatedwithlocalvariable'matches'returned而且我的程序似乎不能正常工作(可能是因为上面提到的警告)。警告意味着什么?会不会造成什么问题? 最佳答案

c++ - 如何为自定义类型扩展 std::tr1::hash?

如何让STL实现选择我的自定义类型?在MSVC上,有一个类std::tr1::hash,我可以通过使用来部分专门化它namespacestd{namespacetr1{templatestructhash{...};}}但这是推荐的方式吗?此外,这也适用于GCC的实现吗?对于boost::hash,提供一个免费的函数size_thash_value(constMyType&)就够了,TR1的实现有没有类似的东西? 最佳答案 我试图找出使用无序关联容器执行此操作的确切语法(也使用GCC,正如OP所要求的那样)并提出了这个问题。不幸的是

javascript - 比较用 PHP hash() 和 NodeJS crypto.createHash() 制作的 SHA256

我正在用NodeJS为我的网站制作一个实时应用程序,允许我的用户使用他们的帐户登录等。但是,我在部分日志记录方面遇到了一些问题。当我在主站点上注册/登录用户时,我使用PHP的hash()函数对他们的密码进行哈希处理,如下所示:$passwordSalt=mcrypt_create_iv(100);$hashed=hash("sha256",$password.$passwordSalt.$serverSalt);它在我的网站上效果很好但是我需要能够在NodeJS中从数据库中获取用户的salt,并能够对用户输入的密码进行哈希处理,将其与数据库的密码进行检查,并确保它们与用户登录匹配。我通

php - nodejs中的password_hash等价物

我面临需要验证通过nodejs服务器上的PHPpassword_hash方法创建的密码的情况。nodejs是否有与password_hash和password_verify等效的可用包?谢谢。 最佳答案 在我的例子中,我在php中创建了密码,如下所示$data['password']=password_hash($data['password'],PASSWORD_BCRYPT);如果我想在Node中验证密码而不是...varbcrypt=require('bcrypt');params.hash=params.hash.repla

javascript - Node.js 中的 Hash_hmac 等效项

我有在我的PHP应用程序中运行的代码。在PHP中,我使用以下代码对url进行签名:privatestaticfunction__getHash($string){returnhash_hmac('sha1',$string,self::$__secretKey,true);}我正在尝试在Node.js应用程序中以相同的方式对URL进行签名。这就是我正在尝试的:S3.prototype.getHash=function(string){varkey=this.secret_key;varhmac=crypto.createHash('sha1',key);hmac.update(stri