Speichern Sie die Wertkategorie von Pointed-to-Objekt (für später Deref)

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Speichern Sie die Wertkategorie von Pointed-to-Objekt (für später Deref)

by Anonymous » 09 Mar 2025, 12:47

Ok, das ist möglicherweise ein bisschen schwer zu erklären:
Ich möchte eine Funktion Hallo aufrufen, die entweder für einen RValue oder einen Lvalue -Ref von JSON überlastet ist. Dieses JSON -Objekt wird von einem JSONKEY mit dem Operator json () Conversion Overloads konvertiert. Aber hier ist die Wendung: Ich erhalte diese JsonKey -Referation durch Dereferencing eines Zeigers, den ich in der Logger -Klasse speichere. Bei der Derferenzung gehen die Informationen über die ursprüngliche Wertkategorie (LVALUE / RVALUE-NESS) des zugrunde liegenden Objekts verloren. Dereferencing gibt mir immer eine LVALUE -Referenz (d. H. Std :: Forward (*_ Curr_key) liefert immer eine Lvalue -Referenz, die immer ich glaube). Hallo mit dem richtigen Überladen?

Code: Select all

#include 
#include 
#include 

struct Json
{
Json() = default;
};

auto hello(const Json& myjson)
{
std::cout

Top