小编Nic*_*ter的帖子

在XCode中进行有用的STL调试

我正在使用XCode进行一些iOS开发,默认情况下,查看STL的观察窗口几乎毫无价值.在Visual Studio中,我可以编辑autoexp.dat文件以使STL查看更有用,有没有办法在XCode中做类似的事情?如果可能的话,我也想用XCode for Boost库做同样的处理.

c++ debugging xcode

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

扩展boost序列化

我正在尝试为移动设备的网络视频游戏设置多用途序列化.因为它是联网的,所以在初始连接期间我需要为游戏状态序列化所有数据,但是,一旦游戏正在进行中,我只需要序列化某些更改.作为boost序列化库一部分的save和load方法仅具有版本号作为参数.我希望能够做的是有更多的参数,这样我可以改变什么得到保存和加载基于不仅仅是一个版本号的详细条件.

Boost序列化文档在这里,供参考.

这是普通的boost序列化save方法目前的样子:

template<class Archive>
void save(Archive& ar, const unsigned int version) const
{
    // Serialize stuff here
}
Run Code Online (Sandbox Code Playgroud)

这就是我想要完成的事情:

template<class Archive>
void save(Archive& ar, const unsigned int version, const unsigned int state_flags) const
{
    if (state_flags & INITIAL_SERIALIZATION)
    {
        // Serialize only data needed for an initial serialization
    }

    // Other serialization
}
Run Code Online (Sandbox Code Playgroud)

我怀疑我可以让boost库调用我想要的序列化方法,因为它重载了运算符,在上面的第一个例子中调用了一个具有特定签名的运算符.我想象在第一个例子中显示save的调用中调用我自己的版本save,并且可能state_flags从一个单独的位置抓取.有没有人对如何干净利落或任何好的替代方案有任何想法?

编辑:我遇到了另一个问题.我需要序列化不一定是类成员的对象,但是文档没有提到对此的任何支持.

这是一个简单的例子:

class Foo
{
private:
    SomeClass m_object;

    template<class Archive>
    void save(Archive& ar, const unsigned int version) …
Run Code Online (Sandbox Code Playgroud)

c++ serialization boost-serialization

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

有没有办法使用IntelliJ IDEA启用Visual-Assist风格的工具提示进行评论?

我发现一件非常有用的东西,特别是在处理我自己没有编写的代码时,工具提示可以显示给出的注释,以及给定变量/值/函数/方法/等的语法高亮.浪费时间不得不去实现本身阅读评论然后再回来.

用于Visual Studio的Visual Assist X执行此操作,这是我发现的一个示例: Visual Assist工具提示

请注意图像底部的注释,以及应用于工具提示本身的语法突出显示.

我希望IntelliJ IDEA可以做到这一点,或者至少它是一个插件.任何帮助深表感谢.

背景信息:我正在使用IntelliJ IDEA 11,特别是对于Scala.

scala syntax-highlighting intellij-idea

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

范围计时器可以在Scala中制作吗?

我正在尝试制作一个测量范围执行时间的计时器.我可以通过手动启动一个计时器,然后在一个范围的末尾添加一些东西来停止计时器,但这是两倍的工作量.在C++中,您可以创建一个计时器类,用于计算何时调用析构函数,并在某些内容超出范围时调用析构函数,因此计时器会自动"自动"处理.由于Scala是一种托管语言,实例在垃圾收集之前不会消失,因此依赖于该方法在计时器方面基本上是无用的,除非我试图计算一些东西在垃圾收集之前存活了多长时间.

这是一个示例,如果计时器在离开作用域时自动评估,它的代码将是什么样子:

def someMethod(someVar: Int) {
  val myTimer: ScopeTimer = ScopeTimer(startImmediately = true)

  // Do some stuff

  // Do more stuff

  10   // Return some int value here
}
Run Code Online (Sandbox Code Playgroud)

当返回的方法10,myTimer将留下范围,并开火.

在Scala中,有没有简单的方法来制作计时器来评估像这样的作用域的执行时间?

scope scala timer

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

将UTF-8转换为UTF-32,预先计算每个中的"字符"数

我有一个工作算法将UTF-8字符串转换为UTF-32字符串,但是,我必须提前为我的UTF-32字符串分配所有空间.有没有办法知道UTF-32中有多少字符会占用UTF-8字符串.

例如,UTF-8字符串"¥0"是3个字符,一旦转换为UTF-32,则是2个无符号字符.有没有办法知道转换之前我需要的UTF-32'字符数'?或者我将不得不重新编写算法?

c++ utf-8 string-conversion utf-32

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