如何创建一个静态类来引用带有C++的字符串变量
How to make a static class to reference string variables with C++?
所以我试图使一个只保存字符串变量的通用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"
但是,如果您希望将其封装并能够在蓝图中调用它。然后,您必须创建一个静态帮助程序类。
.h
class Utilities
{
public:
static const FString MoveForward;
//create BP getter function here
}
.cpp
const FString Utilities::MoveForward = "MoveForward";
相关文章:
- 将对象数组的引用传递给函数
- 什么时候在C++中返回常量引用是个好主意
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 何时在引用或唯一指针上使用移动语义
- 如何在c++中使用引用实现类似python的行为
- 编译C++时未定义的引用
- Ctypes wstring通过引用传递
- c++r值引用应用于函数指针
- 理解c++中的引用
- C++取消引用指针.为什么会发生变化
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- 强制转换为引用类型
- 引用一个已擦除类型(void*)的指针
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 具有默认值的引用获取函数
- 如何使用基类指针引用派生类成员
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- 如何引用基类的派生类?