gpt4 book ai didi

c# - 如何使静态类使用 C++ 引用字符串变量?

转载 作者:行者123 更新时间:2023-11-30 03:17:01 31 4
gpt4 key购买 nike

所以我试图制作一个只包含字符串变量的通用 C++ 静态。我在这个项目中使用虚幻引擎 4。 我有一个可行的解决方案,但我想看看我在 C# 中所做的事情是否可以在 C++ 中完成。

工作解决方案(C++):DFControllerGameModeBase.h

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/GameModeBase.h"
#include "DFControllerGameModeBase.generated.h"


#define MoveForwardInput "MoveForward"

实现:

#include "DFControllerGameModeBase.h" 

void ADFCharacter::Play(){
.....

string text = MoveForwardInput;

}

然而,这是我在 C# 和 Unity 中所做的:

using System;

namespace Assets.Scripts.Helpers
{

public static class Utilities
{
public static string MoveForward = "MoveForward";
}
}

实现:

using Assets.Scripts.Helpers;

void Play(){

string text = Utilities.MoveForward;

}

最佳答案

如果您对封装没有问题并且不会在蓝图中使用静态,那么只需使用#define 即可。

您还想为#define 命名约定使用大写字母。

#define MOVE_FORWARD_INPUT "MoveForward"

但是如果你想把它封装起来并且能够在Blueprint中调用它。然后你必须创建一个静态助手类。

.h
class Utilities
{
public:
static const FString MoveForward;

//create BP getter function here
}

.cpp
const FString Utilities::MoveForward = "MoveForward";

关于c# - 如何使静态类使用 C++ 引用字符串变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55789033/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com