English 中文(简体)
C++11 - 拆卸高价值点
原标题:C++11 - Distinguishing rvalue pointers

How can I distinguish a variable as a compiler-constructed string?

例如,虽然“滚动代码”“Hello, World”为“代码>const char*。 。 “char* const Pointer” 可能发生变动,但并非由汇编者建造。

这是否意味着,对于任何持有<代码>const char*的集装箱,数据应当用C++以外其他方式加以复制? 是否有办法仅仅转移编造的雕像,而只剩下所有其他扼子?

例如,在海合会4.5.2中,一种回收<代码>int而不是int&的回收方法被作为<代码>int&&处理。 我不知道实际标准是否应该如此,但是,这符合海湾合作委员会目前所做的。

Edit:为了澄清,我指的是应当复制点的实际记忆。 这意味着必须分配新的记忆,点人的数据应当复制到新地点。

最佳回答

"Hello, World" is not of type const char*. It is of type const char[13] and it is an lvalue, not an rvalue.

当你使用<条码>Hello,《世界>,在暗中转换为<条码>const char*的情形下,所产生的点值为超值(因为它是默示转换所产生的临时物体)。

例如,在海合会4.5.2中,一种回收<代码>int而不是int&的回收方法被作为<代码>int&&处理。

如果您称职是按价值(例如<代码>int)的回报,则该功能称为“表述”是一种高价值表述。 如果您称职是“升值”参考(例如<代码>int&),则该功能称为“表示值”。

How can I distinguish a variable as a compiler-constructed string?

确实,你可以说:在<代码>Hello、世界与你可能宣布的任何其他<代码>const char[13]之间没有任何区别。

关于储存<代码>const char*或标准图书馆集装箱内任何其它标记类型,例如<代码>std:vector,集装箱的斜线将触及点数据:该集装箱只是制造、移动、复制和摧毁点。

如果你需要管理点对数据,那么你需要撰写一个类别来管理点对标的(例如智能点)。 编写一类管理类似资源的“资源采购”或“Scope-Bound资源管理”(SBRM)。

问题回答

这是否意味着,对于拥有最焦炭的任何集装箱而言,数据应当用C++以外的手段加以复制?

这意味着点子被复制。 更不用说。 点子must被复制以供集装箱工作。





相关问题
Simple JAVA: Password Verifier problem

I have a simple problem that says: A password for xyz corporation is supposed to be 6 characters long and made up of a combination of letters and digits. Write a program fragment to read in a string ...

Case insensitive comparison of strings in shell script

The == operator is used to compare two strings in shell script. However, I want to compare two strings ignoring case, how can it be done? Is there any standard command for this?

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

String initialization with pair of iterators

I m trying to initialize string with iterators and something like this works: ifstream fin("tmp.txt"); istream_iterator<char> in_i(fin), eos; //here eos is 1 over the end string s(in_i, ...

break a string in parts

I have a string "pc1|pc2|pc3|" I want to get each word on different line like: pc1 pc2 pc3 I need to do this in C#... any suggestions??

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...

热门标签