stdmove Questions
1
Solved
In the MSVC STL, the implementation of std::apply is as follows:
template <class _Callable, _Tuple_like _Tuple, size_t... _Indices>
constexpr decltype(auto) _Apply_impl(_Callable&& _O...
1
Why is the following snippet legal C++ code? This is a purely theoretical question - there is no usecase that I have in mind:
#include <optional>
#include <vector>
#include <io...
Jarret asked 10/5, 2023 at 10:22
9
Solved
What is it?
What does it do?
When should it be used?
Good links are appreciated.
Apostatize asked 5/8, 2010 at 9:42
2
Solved
Can someone explain the execution order of this code?
struct Foo {
~Foo() {
std::cout << "1";
}
};
int main() {
const Foo& bar = Foo();
const Foo& baz = std::move(Foo(...
Tension asked 7/2, 2023 at 10:56
0
#include <functional>
#include <iostream>
#include <string>
#include <utility>
using namespace std;
template<typename Func, typename... Args>
void do_task(Func ...
Pernambuco asked 22/8, 2022 at 16:1
4
Solved
In my Fedora 34 environment (g++), std::accumulate is defined as:
template<typename ITER, typename T>
constexpr inline T accumulate(ITER first, ITER last, T init)
{
for (; first != last; ++f...
Fouquet asked 1/1, 2022 at 20:35
2
I was reading this post.
And I reached to the following code.
I was wondering:
Is std::move useful for strings (assuming the string is long enough)?
Does it invalidate the previous string?
Wher...
4
Solved
I saw this here:
Move Constructor calling base-class Move Constructor
Could someone explain:
the difference between std::move and std::forward, preferably with some code examples?
How to think a...
Firecure asked 12/3, 2012 at 17:20
4
Solved
The description for static cast says
If new_type is an rvalue reference type, static_cast converts the value of expression to xvalue. This type of static_cast is used to implement move semantics...
Aponte asked 17/6, 2013 at 7:14
3
Solved
I have a function that returns a std::vector<std::byte>
I am aware that std::byte is not a character type nor an integral type, and that converting it to char is only possible through a typec...
1
Solved
So I wanted to practice the usage of std::forward and created a Test class with 2 constructors. 1 with T& and the other with T&& as overload. T& prints lvalue, and T&& print...
2
Solved
I am currently learning more about all the c++11/14 features and wondering when to use std::move in function calls.
I know I should not use it when returning local variables, because this bre...
Cornall asked 26/4, 2019 at 10:1
1
Solved
I am confused about using std::move() in below code:
If I uncomment line at (2) the output would be: 1 2 3 but if I uncomment line at (1) output would be nothing which means that move constructor...
1
Solved
So here i got a small test program:
#include <string>
#include <iostream>
#include <memory>
#include <vector>
class Test
{
public:
Test(const std::vector<int>& a...
Insouciance asked 29/1, 2019 at 11:53
3
Solved
I have the following (contrived) code where I have a printer class with a single print function in it and a working class that processes a string and then calls a callback function to the print fun...
1
Solved
In the following snippet:
std::vector<double> a(100, 4.2);
auto* a_ptr = a.data();
auto b = std::move(a);
auto* b_ptr = b.data();
std::cout << ((b_ptr == a_ptr) ? "TRUE" : "FALSE") &...
2
Solved
I recently started using c++ and I chose to learn c++11 features.
But how c++ codes run is sometimes not so tangible.
below is my code.
At the part with decltype(std::move(sample)) sample2 = std...
Alessandraalessandria asked 16/7, 2018 at 15:15
4
Solved
A C++Next blog post said that
A compute(…)
{
A v;
…
return v;
}
If A has an accessible copy or move constructor, the compiler may choose to elide the copy. Otherwise, if A has a move construc...
Idiopathy asked 17/11, 2012 at 13:1
4
Solved
After using std::move in a variable that might be a field in a class like:
class A {
public:
vector<string>&& stealVector() {
return std::move(myVector);
}
void recreateMyVector...
Talesman asked 31/12, 2013 at 1:13
2
Solved
While explaining move operations on objects with a colleague, I basically said that move operations should not throw exceptions in a container because if the move operation fails, then there is no ...
1
Following is the code snippet:
int i=0;
int&&k=std::move(i);
In c++ primer the move is
template <typename T>
typename remove_reference<T>::type &&move(T&& t...
Overbear asked 22/2, 2018 at 14:57
1
Solved
Say I have the following function
void doWork(Widget && param) // param is an LVALUE of RRef type
{
Widget store = std::move(param);
}
Why do I need to cast param back to an rval...
Malaysia asked 23/8, 2017 at 15:33
1
Solved
EDIT: it is NOT a duplicate because this question asks about a compiler's decision in O0.
It is said here that Name Return Value Optimization (NRVO) is an optimization many compiler support....
3
Solved
I have a very basic question: is it a good idea to return a std::vector<A> using std::move? For, example:
class A {};
std::vector<A> && func() {
std::vector<A> v;
...
Optimism asked 19/5, 2017 at 9:5
5
After std::move is called on an object, why doesn't the language cause a compilation error if the object is used after?
Is it because it is not possible for compiler to detect this condition?
Chondriosome asked 14/3, 2017 at 20:13
1 Next >
© 2022 - 2024 — McMap. All rights reserved.