小编Max*_*kov的帖子

我如何确保理解C指针?

没有任何导师,在网上自学自己的书籍和参考资料,我如何确保我正确理解C中的指针?我应该接受哪些测试,要回答哪些问题?

c pointers

8
推荐指数
1
解决办法
452
查看次数

我可以在C#中更改当前的堆栈跟踪吗?

简而言之,我需要修改C#中的当前堆栈跟踪,因此我调用的方法(我无法修改)会认为是其他人调用它.

现在,给出一个关于为什么我需要做这么可怕的黑客攻击的背景.

在Unity3d中,Debug.Log在开发人员控制台中创建一个新记录.双击它时,它会打开IDE以显示负责该记录的确切文件和行.但是,由于各种原因(在生产中禁用调试,使其在其他线程中可用)我创建了一个包装类Print,而不是UnityEngine.Debug.

但是使用包装器,现在当开发人员在控制台中单击日志记录时,它会Print被打开,而不是Print.Log被调用的实际位置.因为Debug.Log无论错误消息或上下文对象如何,我都认为它使用调用堆栈来识别要打开的文件.不用说,我想解决这个问题.

c# mono unity-game-engine

8
推荐指数
1
解决办法
1876
查看次数

git命名空间的用例是什么?

我最近了解了git命名空间,并且目前正试图了解它.在什么情况下命名空间在git中有用?

git namespaces

8
推荐指数
1
解决办法
438
查看次数

使用条目字段作为键的字典数据结构

某种类型的数据记录经常必须由唯一密钥索引.通常它看起来像这样(我使用的是C#,因为它是我最熟悉的语言,但这个问题并不是特定的):

public class NamedRecord
{
    public readonly string UniqueImmutableName;
    ...
}

public class UsesUsualDict
{

    Dictionary<string, NamedRecord> myDict = new Dictionary<string, NamedRecord>();

    void AddRecord(NamedRecord _NewRecord)
    {
        myDict[_NewRecord.UniqueImmutableName] = _NewRecord;
    }

    NamedRecord GetRecord(string _Key)
    {
        return myDict[_Key];
    }

}
Run Code Online (Sandbox Code Playgroud)

然而,这似乎有点多余:该词典中的键应始终被认为是等于NamedRecord.UniqueImmutableName,但开发人员自己维持这种关系.而且,这种数据重复对我来说感觉不对.

有时我看到一个类似的解决方案:数据记录甚至没有UniqueImmutableName作为其成员.例如,在他的D语言教程中,Andrei Alexandrescu使用数据结构来描述游戏中角色的单词统计:

struct PersonaData {
   uint totalWordsSpoken;
   uint[string] wordCount;
}
Run Code Online (Sandbox Code Playgroud)

但是角色的名字甚至不在其中 - 它只能作为字典的关键字来保存这些结构.在这种情境之外,这种数据结构几乎是无用的.

我想做的是这样的:

public class UsesLambdaDict
{
    LambdaDictionary<string, NamedRecord> myDict = new LambdaDictionary<string, NamedRecord>(NamedRecord _Record => _Record.UniqueImmutableName);

    void AddRecord(NamedRecord _NewRecord)
    {
        myDict.Add(_NewRecord);
    }

    NamedRecord GetRecord(string _Key) …
Run Code Online (Sandbox Code Playgroud)

oop dictionary d data-structures

6
推荐指数
1
解决办法
181
查看次数

“地址未对齐错误”是什么意思?

首先 - 抱歉具体细节。我通常尝试将我的 SO 问题归结为仅包含相关内容的通用“A 类”内容,但我不确定这里问题的根源是什么。

我有一个看起来像这样的矩阵类模板(只显示我认为的相关部分):

template <std::size_t R, std::size_t C>
class Matrix
{
private:
    //const int rows, cols;
    std::array<std::array<float,C>,R> m;
public:
    inline std::array<float,C>& operator[](const int i)
    {
        return m[i];
    }

    const std::array<float,C> operator[](const int i) const
    {
        return m[i];
    }

    template<std::size_t N>
    Matrix<R,N> operator *(const Matrix<C,N> a) const
    {
        Matrix<R,N> result = Matrix<R,N>();
        // irrelevant calculation
        return result;
    }
    // ... other very similar stuff, I'm not sure that it's relevant
}

template <std::size_t S>
Matrix<S,S> identity()
{ …
Run Code Online (Sandbox Code Playgroud)

c++ sigbus

6
推荐指数
1
解决办法
2万
查看次数

Unity:在Unity3D中使用HTTP PUT

我是Unity的新手,在Unity中遇到RESTFul的一些问题.我想使用HTTP PUT更新服务器上的一些数据,但正如我在搜索网络时收到的那样,Unity中的WWWW类不支持HTTP PUT.我还尝试了一些与HTTP PUT相关的HttpWebRequest示例,但总是收到错误代码400:错误请求.

我怎么解决这个问题?我是否必须在更新时列出所有键值对,或者只需要列出我想要更改值的对?

rest http put unity-game-engine

6
推荐指数
2
解决办法
5956
查看次数

在C#中实现Rust枚举的最佳方法是什么?

我有一个可以处于不同状态之一(StateA,StateB和StateC)的实体,并且在每个实体中都有不同类型的相关数据(TStateA,TStateB,TStateC)。Rust中的枚举完美地代表了这一点。在C#中实现这样的最佳方法是什么?

这个问题可能看起来相似,但是Rust中的枚举和C中的并集有很大不同。

c# enums

6
推荐指数
2
解决办法
1243
查看次数

如何为 Postgresql 编写向下迁移,其中向上迁移添加枚举值?

我想通过添加新的枚举值来扩展我的枚举类型。这非常简单。我还将所有 SQL 保留在迁移中,并将每个向上迁移与对称向下迁移配对,将架构恢复到之前的状态。

\n\n

但是,不支持反向操作 \xe2\x80\x94 从枚举 \xe2\x80\x94 中删除变体

\n\n

这方面的常用方法是什么?我可以看到两个选项:

\n\n
    \n
  1. 编写“向上”迁移if not exists,并在“向下”迁移中不执行任何操作。我不喜欢这个选项,因为它违反了这样的假设:应用和恢复迁移会使架构保持与之前相同的状态。
  2. \n
  3. 在“向下”迁移中转换为新的枚举类型,如上面链接的问题中所述 \xe2\x80\x94 对于这样一个简单的操作来说似乎有点过分了。
  4. \n
\n

postgresql enums database-migration

6
推荐指数
1
解决办法
1575
查看次数

如何在 Typescript 项目中使用 Node 16 的计时器/promise?

Node 16 版本中,我想使用新的计时器/承诺 API。我安装Node 16NVM切换到它:

$ nvm use       
Found '/Users/golergka/Projects/my-project/.nvmrc' with version <16>
Now using node v16.0.0 (npm v7.10.0)
Run Code Online (Sandbox Code Playgroud)

甚至还为我的添加了引擎package.json

"engines": { "node": ">=16" }
Run Code Online (Sandbox Code Playgroud)

我不确定是否需要安装 的版本16@types/node但我尝试了(没有成功):

npm install --save-dev @types/node@16
npm ERR! code ETARGET
npm ERR! notarget No matching version found for @types/node@16.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
Run Code Online (Sandbox Code Playgroud)

目前,我已经 …

node.js npm typescript

6
推荐指数
1
解决办法
9295
查看次数

强类型语言是否有承诺规范?

承诺/ A +规格为优秀落实承诺,但它使用JavaScript的弱类型很多.Promise的规范是否设计了具有强大静态类型的语言,例如C#?

javascript specifications strong-typing promise

5
推荐指数
1
解决办法
154
查看次数