Your resume says you have C++ skills, user. That's great!

Your resume says you have C++ skills, user. That's great!

Can you please explain the following concepts in a few words: lvalue, rvalue, xvalue, glvalue and prvalue?

Attached: methode%2Ftimes%2Fprod%2Fweb%2Fbin%2Fc1c81958-b58e-11e6-ad6e-9f844c3a07a7.jpg (685x385, 29K)

Other urls found in this thread:

github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md
twitter.com/NSFWRedditGif

This is exactly why I don't list C++ on my résumé, even though I have experience working as a C++ developer. My horror would be figuring out the order of template specialization on the whiteboard.

/thread

>Can you briefly summarize the C++ Core Guidelines?
github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md

C++ is a joke

They're all arcane terms for things that most programmers already know but didn't know cepples invented a word for it.

Sorry, no. I'm not qualified to write a standard library implementation. However, I do have extensive real-world experience implementing complex applications in a highly-performant and memory-safe manner.

Thanks user, we'll let you know.

Nigga

Attached: value-categories.png (505x433, 33K)

Explain further.

value categories are a property of an expression
l-value :: has assigned memory address
r-value :: doesn't have assigned memory address, can be temporary values in expression, anonymous objects. Their scope is the expression they are in.
x-value :: object near it's end of life, may be moved
gl-value :: l-value or x-value
pr-value :: r-value and not x-value

>Can you briefly summarize the C++ Core Guidelines?
Avoid legacy C features and use C++ alternatives instead.

I don't understand the difference between lvalue and glvalue (or rvalue and prvalue).

Can you show examples of each?

sure

>int a = 5;
>printf("%s\n", a);
here `a` is l-value and so gl-value as well

>std::vector nigger({1, 2, 3});
the array {1, 2, 3} is r-value and not x-value, thus also pr-value
>return nigger;
and here it's x-value

Based on the definitions given above, I think a constructor call would be a glvalue that's not an lvalue.

>Can you briefly summarize the C++ Core Guidelines?
Use every meme feature added to the language in the last 10 years

gl-value is generalization, it's union of l-value and x-value
l-value has address in memory, this one is pretty clear
x-value are values being moved, such as return values or function arguments. read on function call conventions and function returns conventions for assembly to have some insight of what's happening during these
x-value can also be r-value

but literally nobody except compiler designers needs to know this
______ ______
/ X \
/ / \ \
| l | x | pr |
\ \ / /
\______X______/
gl r

Thanks for the thorough explanation. I'd like to know though, because I find it genuinely interesting although I have not dabbled particularly with compiler design.

Thanks!

Is this correct or are you trolling

C++ is one of the few languages that actually improved this past decade.

>gl-value :: l-value or x-value
Why not call it an lx-value?

I wrote that and I also don't know

Attached: 1529168048200.jpg (600x567, 28K)

Ffs