草庐IT

this_date

全部标签

c++ - 在右值方法中从 *this 移动?

在C++11中,方法可以根据表示调用方法的对象的表达式是左值还是右值来重载。如果我从通过右值调用的方法返回*this,我是否需要从*this显式地移动?FooFoo::method()&&{returnstd::move(*this);//Isthismoverequiredornot?}不幸的是,我不能简单地在我的编译器上测试它,因为g++还不支持这个特性:( 最佳答案 *this的类型总是一个左值:§9.3.2[class.this]p1Inthebodyofanon-static(9.3)memberfunction,thek

c++ - 声明自身 (*this) 私有(private)的类以避免竞争条件/放弃 gcc 中线程私有(private)的请求

我想避免并行代码中的竞争条件。问题是我的类包含几个全局变量,为了简单起见,我们只说一个x以及一个我希望并行的for循环。实际代码还有一个方法,它接受一个指向类的指针,在本例中是它本身,作为它的参数,访问更多的全局变量。因此,将整个实例设为threadprivate可能是有意义的。我正在使用OpenMP。一个最小的工作示例是:#include#includeclasslotswork{public:intx;intf[10];lotswork(inti=0){x=i;};voidaddInt(inty){x=x+y;}voidcarryout(){#pragmaompparallelfo

c++ - enable_shared_from_this 和 make_shared 是否提供相同的优化

据我了解make_shared(...)可以提供一些内存分配优化(它可以在与类T的实例相同的内存块内分配引用计数器)。enable_shared_from_this是否提供相同的优化?所以:classT:std::enable_shared_from_this{};...autot=std::shared_ptr(newT);等同于:classT{};...autot=std::make_shared();如果不考虑sizeof(T)。 最佳答案 Doenable_shared_from_thisprovidesthesameopt

【Linux】时间戳指令(date)

一、指令说明1、指令格式date[选项][+格式]2、选项说明选项说明-d,--date=STRING显示由STRING描述的时间,而不是当前时间-f,--file=DATEFILE将文件中的每一行时间进行显示,相当于执行多条-d-I[TIMESPEC],--iso-8601[=TIMESPEC]以ISO8601格式输出日期,使用TIMESPEC进行精度的指定,TIMESPEC可选范围有{‘date’,‘hours’,‘minutes’,‘seconds’,‘ns’},默认取值为‘date’-r,--reference=FILE显示FILE最后一次修改的时间戳-R,--rfc-2822以RFC

c++ - 'this' 是否保证指向 C++ 中对象的开头?

我想使用fwrite将对象写入顺序文件。类(class)就像classA{inta;intb;public://interface}当我将对象写入文件时。我在想我能否使用fwrite(this,sizeof(int),2,fo)来写前两个整数。问题是:this是否保证指向对象data的开始,即使可能存在虚拟表对象的最开始。所以上面的操作是安全的。 最佳答案 this提供对象的地址,不一定是第一个成员的地址。唯一的异常(exception)是所谓的标准布局类型。来自C++11标准:(9.2/20)Apointertoastandard

c++ - this 和 this@entry 的区别?

我最近开始使用Eclipse-CDT,并对调试透视图中变量窗口中的“this”和“this@entry”感到好奇。它们都具有相同的内存地址并且看起来相同,但为什么要包含两者呢?'this@entry'是否意味着在函数内的某个断点处表示'this'的状态?'this@entry'下表示的值是否超出范围,可以这么说,并在函数返回时更新'this'?team1,2和currentMatch是我正在调试的类的全局变量,断点在该类的成员函数中。 最佳答案 @entry形式是指函数进入时参数的值。这并不总是可用,但有时是可用的——它有一个DWA

JavaScript Date对象 、日期求差案例 、 购物秒杀倒计时、日历

一、创建Date对象vardateObj=newDate();varnow=Date.now()  当前时间二、Date方法1、将日期转为字符串toLocaleString()toLocaleDateString()toLocaleTimeString()2、获取年、月、日、小时、分、秒getFullYear()vard=newDate();varyear=d.getFullYear();getMonth()   获取月份,返回值为0-11(外国人规定的),表示1月到12月,所以获取到月份之后需要+1vard=newDate();varmonth=d.getMonth()+1;getDate(

c++ - 使用 date_time_formatter 时 Boost 日志库出现编译错误

我正在尝试使用Boost日志库,我想在输出中添加时间戳。我从thisexample开始,但我遇到了编译错误。我完全按照示例中的代码复制了代码,并将init()函数更改为第二个函数(example_tutorial_formatters_stream_date_time)。现在我有以下编译错误:$g++-Wall-Wextra-O0-g-isystem/proj/cudbdm/tools/external/boost/inst_1_54_0_cxx11/include-cmain.cpp-omain.oInfileincludedfrom/proj/cudbdm/tools/extern

c++ - 为什么 C++ 中的 "this"指针是指针而不是引用?

为什么C++中的this指针是指针而不是引用?是否有我遗漏的用例使“this”作为指针比引用更有用?如果不是,将其用作指针是否涉及任何语言设计影响/注意事项? 最佳答案 来自BjarneStroustrup'sC++StyleandTechniqueFAQ:Whyisthisnotareference?BecausethiswasintroducedintoC++(reallyintoCwithClasses)beforereferenceswereadded.Also,IchosethistofollowSimulausage,r

c++ - 为什么 'this' 关键字不是 C++ 中的引用类型

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicates:Why‘this’isapointerandnotareference?SAFEPointertoapointer(wellreferencetoareference)inC#C++中的this关键字获取指向我当前所在对象的指针。我的问题是为什么this的类型是指针类型而不是引用类型。this关键字是否为NULL?我的直接想法是在静态函数中,但至少VisualC++足够聪明,可以发现这一点并报告静态成员函数没有“this”指针。这在标准中吗?