草庐IT

libXXX_construct

全部标签

c++ - allocator_traits::construct() 与 allocator_traits::allocate()

C++11提供了std::allocator_traits类作为使用分配器的标准方式。静态函数std::allocator_traits::construct()将一个指针指向应该构造对象的位置。然而,std::allocator_traits::allocate()静态函数返回一个allocator::pointer值,它只需要表现得像一个指针,但不一定一个(一般来说,虽然std::allocator::pointer需要是一个指针)。如果分配和构造静态方法通常会与不兼容的类型一起工作,那么应该如何使用它们?只有当pointer类型实际上可以转换为普通指针时才能使用它们吗?

compiler-construction - Go1 编译器是如何工作的?

我已经为一个学校项目涉足Go大约一个月了,我注意到src/pkg/go文件夹中的go/ast、go/token、go/parser等包。然而,gc编译器基于位于src/cmd/gc中的C文件。我的问题是关于Go1中用于构建和运行程序的新go命令:该工具是否依赖于我在上面引用的包?即,如果我向/go/token/token.go添加了一个新的token,它会被新的go编译器识别吗? 最佳答案 Go编译器是纯C语言编写的,不使用go/下的包。在Go源代码树中,它的词法分析器位于src/cmd/gc/lex.c,而它的Bison语法是sr

php - 最佳实践,覆盖 __construct() 与提供 init() 方法

当您对对象进行子类化并希望扩展初始化代码时,有两种方法。覆盖__construct(),并实现父类(superclass)构造函数调用的初始化方法。方法一:classfoo{publicfunction__construct($arg1,$arg2,$arg3){//Doinitialization}}classbarextendsfoo{publicfunction__construct($arg1,$arg2,$arg3){parent::__construct($arg1,$arg2,$arg3);//Dosubclassinitialization}}方法二classfoo{p

Java XML : using DOM with StAX to construct a document

我正在使用StAX使用XMLStreamWriter构建XML文档.但是,我的文档的某些部分很难逐个调用XMLStreamWriter的方法,使用DOM构建一个小的文档片段,然后将其写出来会更容易。我知道如何使用DOM,但这是我的问题:有没有简单的方法来获取Element对象并将其写出到XMLStreamWriter?我可能会想出如何“连接”这两种方法,但它似乎很乏味而且应该已经有一些东西了。(走另一条路似乎微不足道:http://blogs.oracle.com/venu/entry/constructing_dom_using_stax_writers)

c++ - std::is_nothrow_move_constructible 是否需要 noexcept 析构函数?

以下代码无法使用VisualStudio2017(15.5)、gcc6.4.0和clang4.0.1进行编译,即静态断言失败:structType{Type(Type&&)noexcept{}~Type()noexcept(false){}};static_assert(std::is_nothrow_move_constructible::value,"Typeshouldbenothrow-move-constructible");static_assert(std::is_nothrow_constructible::value,"Typeshouldbenothrow-cons

c++ - 是否有可能在不依赖编译器内置函数的情况下实现 is_trivially_constructible 的库?

我使用的gcc-4.9没有is_trivially_constructible类型特征。查看libstdc++源代码(type_traits),这取决于在编译器本身中实现的__is_trivially_constructible。我想知道是否有可能将这个特性实现为一个库而不是依赖编译器,这样我就可以在我的项目中使用它,这个项目卡在gcc-4.9上。 最佳答案 不,这是不可能的(否则我们可能已经在libstdc++中完成了!)我们不得不等待新的内置编译器实现。使用is_scalar是一个保守的近似值,但对于普通可构造的类类型来说显然是

c++ - 为什么 TensorFlow 推荐 "functional style for constructing operations"?

在TensorFlow'sdocumentation,可以找到以下文本://NotrecommendedMatMulm(scope,a,b);//Recommendedautom=MatMul(scope,a,b);我看不到使用“推荐”样式有什么明显好处。第一个版本至少更短。此外,“推荐”版本可能包含更多与不必要的赋值操作相关的操作。我已经阅读该文档页面不少于六遍,但仍然无法理解其推理背后的基本原理。这个推荐只是风格问题还是第二个版本有一些好处? 最佳答案 Alsothe"recommended"versionmightinclud

c++ - std::allocator_traits::construct with const 指针

下面的代码可以正常编译:#include#includeintmain(){constint*a=newint(5);std::cout>;autoalloc=std::allocator();at::construct(alloc,a);std::cout在libstdc++的背后::new((void*)a)int;但是a是const!这是未定义的行为吗?或者placementnew不算修改?我修改了*a的值,是const。据我了解,这是不允许的:Modifyingaconstobjectthroughanon-constaccesspathandreferringtoavolat

java - 在主节点 : Failed construction of Regionserver : java.net.BindException

我有一个4节点集群(hadoop2.5.2)(Hbase1.0.0),主机上有一个主节点(作为从节点)和3个从节点。调用start-hbase.sh后,jps没有显示HRegionServer进程在master上运行,但在所有三个slave上运行正常。master上的日志文件显示:java.lang.RuntimeException:FailedconstructionofRegionserver:classorg.apache.hadoop.hbase.regionserver.HRegionServeratorg.apache.hadoop.hbase.regionserver.H

java.lang.RuntimeException : Failed construction of Master: class org. apache.hadoop.hbase.master.HMaster

当我启动-hbase.shHMaster和HregionServer正在启动,但一段时间后不可见。通过查看日志,我发现了这一点。HMaster:java.lang.RuntimeException:FailedconstructionofMaster:classorg.apache.hadoop.hbase.master.HMasteratorg.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:3150)atorg.apache.hadoop.hbase.master.HMasterCommandLine.