Back
Close

Wrapper<int&> with std::remove_reference_t

joboc
15.4K views
#include <iostream>
#include <type_traits>
template<typename T>
class Wrapper
{
public:
Wrapper(T const& value) : value_(value) {}
std::remove_reference_t<T> const& get() const { return value_; }
private:
T value_;
};
int main()
{
using IntRefWrapper = Wrapper<int&>;
int a = 42;
IntRefWrapper intRefWrapper(a);
intRefWrapper.get() = 43;
std::cout << "a is now " << a << '\n';
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants