草庐IT

make_password

全部标签

c++ - 返回 std::make_unique<SubClass> 是如何工作的?

我有一个基类及其子类:classBase{public:virtualvoidhi(){cout尝试创建一个辅助函数来创建一个Derived对象的唯一指针。1)这个有效:std::unique_ptrGetDerived(){returnstd::make_unique();}2)但是,这个编译失败:std::unique_ptrGetDerived2(){autoa=std::make_unique();returna;}3)std::move有效:std::unique_ptrGetDerived3(){autoa=std::make_unique();returnstd::mov

c++ - 尝试 'Make' CUDA SDK,ld 找不到库,ldconfig 说可以

我知道还有很多其他问题与这个问题类似,但那里提出的解决方案都不适合我基本上,制作SDK示例文件时,我得到/usr/bin/ld:cannotfind-lcuda这将是一个足够简单的“找到库并将其扔给ldconfig”,除了ldconfig已经说它有它......$sudoldconfig-v|grepcuda/usr/local/cuda/lib64:libcudartemu.so.3->libcudartemu.so.3.0.14libcudart.so.3->libcudart.so.3.0.14/usr/local/cuda/lib:libcudartemu.so.3->libc

c++ - std::make_shared 构造函数中的参数个数

在VisualStudio2010/2011中缺少可变参数模板(仍然!),采用大量参数的构造函数可能会出现问题。例如,以下不会编译:MyMaterials.push_back(std::make_shared(MyFacade,name,ambient,diffuse,specular,emissive,opacity,shininess,shininessStrength,reflectivity,bumpScaling,maps,mapFlags));,因为它有13个参数,我认为make_shared仅限于arg0到arg9。明显的解决方法是两部分构造,但我希望避免这种情况。除了使

c++ - std::make_unique 可以与抽象接口(interface)一起使用吗?

考虑以下代码行:autosource1=std::unique_ptr(newGpsDevice(comPort,baudrate));autosource2=std::unique_ptr(newGpsLog(filename));如何使用VS2013支持的新std::make_unique函数来编写?有可能吗?**我的问题是我不知道如何告诉std::make_unique要实例化哪种对象。因为只有构造函数的参数被传入,所以似乎无法控制它。 最佳答案 std::unique_ptrbase_ptr=std::make_unique

c++ - `std::make_shared<POD>()` 值是否初始化我的 POD?

是否std::make_shared()值初始化我的POD?如果是,这是标准保证的吗?如果不是(正如我怀疑的那样),有没有办法做到这一点?我猜std::make_shared(POD())会做,但这是我应该做的吗? 最佳答案 是的,它是值初始化的,这是由标准保证的:§20.7.2.2.6,2:(关于make_shared)Effects:AllocatesmemorysuitableforanobjectoftypeTandconstructsanobjectinthatmemoryviatheplacementnewexpress

c++ - 标准库中 boost::make_transform_iterator 的等价物是什么?

处理constvector时,以下内容不起作用:conststd::vectorv;v.push_back("test");//error:vcannotbemodified相反,您必须在构造它的同一行上初始化vector。然而,即使有这个限制,boost::make_transform_iterator使得在将它们插入v之前对另一个vector的元素做一些事情变得容易。在这个例子中,convert是一个一元函数,返回输入元素的转换版本:autobeg=boost::make_transform_iterator(args.begin(),convert);autoend=boost:

c++ - make_shared是否为每个成员变量做一个默认的初始化(零初始化)

将普通结构(或类)与普通旧数据类型和对象作为成员。请注意,没有定义默认构造函数。structFoo{intx;inty;doublez;stringstr;};现在,如果我在堆栈上声明一个实例f并尝试打印其内容:{Foof;std::cout结果是为x、y和z打印的垃圾数据。并且该字符串默认初始化为空。符合预期。如果我创建一个shared_ptr的实例使用make_shared并打印:{shared_ptrspFoo=make_shared();coutxyzstr那么,x、y、z都是0.这使得shared_ptr看起来在构造对象实例后对每个成员执行默认初始化(零初始化)。至少这是我在

windows - EFS(加密文件系统): security concern: aren't password-related hashes stored on the hard drive

以下youtube视频很好地总结了EFS的工作原理。对于那些对我附上的此类窗口的内容摘要感兴趣的人它在下面。然而,这给我留下了一个关于安全的问题:当用户在Windows中登录时,可能会根据密码计算哈希值(或者从密码加上用户名和其他数据,例如作为盐)。当用户首次创建密码时,此类哈希必须存储在某处如果我没记错的话,在硬盘上。至少,旧的Unix系统曾经在这样的方式(用这样的方式存储在/etc/passwd中)。因此,当用户登录时,计算密码哈希值,并按顺序与存储在此类文件中的内容进行比较对用户进行身份验证。如果哈希值匹配,则用户已登录。到目前为止一切顺利。如果使用上述机制(在现代Windows

windows - 使用 make 调用批处理文件并使更改持久化

我正在使用生成文件(GNUMake)在命令行上使用VisualC++Express进行编程。为此,我必须调用VisualStudio批处理文件vsvars32.bat来设置环境。在使用make之前,每次我打开一个新的cmd.exe时都必须这样做。当我尝试从我的makefile中调用批处理文件时,它显然将批处理文件执行为一个自己的过程,因为之后的环境是一样的。所以我的问题是:有没有办法像Linux/Unixbash的内置source命令一样在cmd.exe中执行脚本?当然,除了在Windows上安装bash。发布我自己的答案后编辑:上面的问题不太对,应该是这样的:是否可以从makefil

windows - 强制 mingw32-make 忽略 sh

我注意到,如果PATH中存在sh.exe,那么mingw32-make将使用它来启动命令。但如果不是,那么它将使用cmd.exe。问题是这两个应用程序......完全不兼容,并且无法创建对两者都适用的makefile。有没有办法让mingw32-make一直使用cmd.exe?或者创建一个环境强制mingw32-make忽略这个sh.exe? 最佳答案 事实证明,我偶然找到了解决方案。我读过mingw32-make应该查看SHELL环境变量......但它没有!但是,您可以像这样在命令行上指定选项:mingw32-makeSHELL