Ich verwende die beiden folgenden Dateien für mein Projekt. Die Variable, die ich beziehe, Node parent
, war ursprünglich kein Zeiger, aber ich fand schnell heraus, dass dies aus offensichtlichen Gründen (Speicher) nicht funktioniert.Wie behandelt man eine Variable mit dem gleichen Typ wie die Klasse, zu der sie gehört?
Also habe ich es in einen Zeiger verwandelt. Das Problem ist, dass parent
scheint nicht richtig in meinem Code behandelt werden, so dass ich am Ende mit meiner Anwendung abstürzt, wenn ich eine Funktion wie getParent() ausführen. Welche Modifikationen würden dieses Problem beheben?
Node.h
#include <string>
#include <vector>
#include <iostream>
#include "Action.h"
class Node
{
Node.cpp
#include "stdafx.h"
Für die Leistung sollten Sie 'std :: string title' in' const std :: string & title' ändern. –
Sie müssen lernen, wie Parameter als Referenz übergeben werden. –
Noch bessere Leistung ': title (Std :: move (Titel))' :) @EdHeal Ich denke nicht, dass dies einen Leistungsvorteil gibt, kann der Compiler nicht verschieben optimieren, und muss stattdessen eine Kopie machen. – Rakete1111