全球首艘智能深水钻井平台“深蓝探索”南海开钻

记者9日自中国海洋石油集团有限公司(简称“中国海油”)获悉,由中国自主设计建造的全球首艘智能深水钻井平台“深蓝探索”在南海珠江口盆地成功开钻,中国智能化深水油气装备发展迈出实质性一步。本次“深蓝探索”开钻的探井,距中国香港东南约230公里,井位水深370米,紧邻中国首个自营深水油田群流花16-2油田群。中国海油深圳分公司深水工程技术中心总经理张伟国介绍说,“深蓝探索”是为南海深水油气勘探开发“量身定制...

c++ - gdb:检查whatis以智能地打印值

我想编写一个gdb函数来打印某些东西的值,具体取决于它的参数类型,例如:define psmart if (whatis $arg0) =~ vector pvector // stl-views else if (it's a pointer) p* else p endend我目前无法以某种方式检查gdb函数中whatis的输出。请指出我该如何做(或提供更多功能/控制的替代工具)。 最佳答案 ...

c++ - C++:对智能指针的字段隐式保留右值引用

令f()为返回unique_ptr<X>的函数,令m为X的成员字段。虽然f()可用作右值引用,但f()->m不能,迫使我使用move(f()->m)。假设我可以定义自己的unique_ptr而不是使用现有的->,有没有办法使我的ojit_code运算符保持右值?如果不建议这样做,请说明原因。编辑:所有人告诉我添加 setter/getter 。我试图避免在X中添加特殊支持,我只想通过unique_pt...

c++ - 智能指针和构造函数异常

++ : handle resources if constructors may throw exceptions (Reference to FAQ 17.4] (4个答案) 4年前关闭。 我读到智能指针在构造函数生成某些异常的情况下很有用。问题在于,构造函数在异常生成之前获得了一些资源,但是没有调用析构函数(并且资源永久繁忙)。但是我不能正确理解它。我的代码:#include <memory>...

c++ - 另一种类型的智能PTR,例如带有弱引用的unique_ptr?

我最近遇到了一个问题,即unique_ptr和shared_ptr都不是正确的解决方案。因此,我正在考虑发明另一种智能ptr(如下所述),但我心想:“我当然不是第一个想要这种东西的人。”所以我的高级问题是:以下设计有意义吗? 是否可以使用现有的智能ptrs(或其他std::功能)来完成此操作,也许我遗漏了一些东西? 要求:我想要单一所有权,就像unique_ptr也就是说:仅当单个拥有者指针死亡时,才...

c++ - C++中的智能指针

ss base { protected: ~base(){ //... } // ...}; class derived : public base { // ...};现在,我们使用上面的类和智能指针类来编写此代码:SmartPointer<base> bptr(new derived());delete bptr;我知道它会通过调用derived的析构函数来阻止derived对象的切片,...

c++ - 将构造函数的参数复制到智能指针中

Improve this question 如果类的成员需要多态行为,则它必须是指针或引用。如果此成员是使用构造函数参数初始化的,并且应该与该类一样长,那么我将看到两个选项。选项1:将引用参数复制到智能指针中 class A{private: std::unique_ptr<Type> _ptr;public: A(Type& parameter) : _ptr(std::make_uniqu...

c++ - 关于智能指针及其不可避免的不确定性的问题

在过去的两年中,我在我的项目中广泛使用了智能指针(确切地说是boost::shared_ptr)。我理解并欣赏它们的好处,并且我通常非常喜欢它们。但是我使用它们的次数越多,我就越想念C++关于内存管理和RAII的确定性行为,而这种行为似乎是我喜欢用编程语言编写的。智能指针简化了内存管理过程,并提供了自动垃圾回收等功能,但是问题是,通常使用自动垃圾回收,而智能指针会按(反)初始化的顺序专门引入某种程度的...

javascript - 更智能的对象值计数方法(JS,React)

看一下下面的代码,是否有更好的方法来获取在反应状态内包含特定键/值对的项的计数?一旦我要处理的列表变大,此方法似乎可能会导致瓶颈。这是手头问题的简化示例:class App extends React.Component { constructor() { super(); this.state = { animals: [ {type: 'cat'}, {type: 'dog'}, {type: '...

c++ - 多态智能指针的用法

到目前为止,我有一个函数正在获取IArg类型的参数,我可以执行以下操作:struct IArg{}; struct Arg : IArg{}; void f (IArg* arg){// do something} f(new Arg);现在,当我得到这个:void f (std::shared_ptr<IArg> arg){// do something}为什么它再次与f(s...
© 2021 LMLPHP 关于我们 联系我们 友情链接 耗时0.024724(s)
2021-09-16 19:06:38 1631790398