小编Ben*_*oît的帖子

以类似于图形的图形方式编写C++?

我正在考虑设计一个允许人们以图形方式开发C++代码的应用程序的可能性.当我发现Scratch(参见网站教程视频)时,我感到很惊讶.

我相信大多数C++都可以用图形表示,除了预处理器指令和可能的函数指针.

您认为哪些C++功能可以(或不是)由图形项表示?这种申请的利弊是什么?它比"普通"C++简单多少?

RECAP和更多:

优点:

  • 直观的
  • 适用于小型应用
  • 有助于避免错别字

缺点:

  • 对于大型(中型)大小的应用程序可能变得不可读
  • 对于有经验的程序员来说,手动编码更快
  • C++对于这种方法来说太复杂了

考虑到我们 - 我的工作 - 已经有相当多的现有C++代码,我不是在寻找一种全新的编程方式.我正在考虑一种与遗留代码完全兼容的替代编程方式.人们将用于新代码的某种"病毒语言",并且希望最终也会用来替换现有代码(它可能有用).

您如何看待这种病毒式方法?

说到手动和图形编程,我倾向于同意你的答案.这就是为什么理想情况下,我会找到一种方法让用户总是在打字和图形编程之间做出选择.逐行解析器(+部分解释器)可能能够将类型化代码转换为图形设计.这可能的.让我们全都交叉.

是否有提供打字和图形编程功能的警告我应该仔细考虑和分析?

我已经处理过模板类(更常见的是类型级C++)及其图形表示.看到存在于模板类的图形表示的示例.框表示类或类模板.第一个顶级节点是类本身,下一个节点(如果有的话)是类中的typedef指令.底部节点是模板参数.当然,边缘将类连接到实例化的模板参数.我已经有了处理这种类型级图表的原型.

如果您觉得这种表示模板类的方式是完全错误的,请不要犹豫,为什么这么说!

c++ graphical-programming

4
推荐指数
3
解决办法
3319
查看次数

C++模板可移植性

我正在更新一个10年前的代码库,并在Mac和Windows上使用Metrowerks Code Warrior.

我正在更新到OS X,XCode 3.2,Universal Binary.

我似乎得到了很多模板相关的错误,而不是模板上的天才(并且忘记在早餐时吃健康剂量的磨砂模板),我发现自己对模板可移植性问题感到疑惑.

IIRC,模板是/或可以是编译器特定的?

有没有人对他们推荐的模板有建议或教程?

c++ templates

4
推荐指数
1
解决办法
409
查看次数

这会产生内存泄漏吗?

void aFunction_2()
{
    char* c = new char[10];
    c = "abcefgh";
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 将:c = "abdefgh"存储在new char[10]

  2. 如果c = "abcdefgh"是另一个内存区域我应该解除它吗?

  3. 如果我想保存信息,char[10]我会使用一个函数strcpy来将信息放入char[10]

c++ string memory-leaks memory-management

4
推荐指数
2
解决办法
1413
查看次数

静态成员和继承

我有一个带有成员的类m_preferences(一个包含单词和特征之间关联的向量).

在这个类中,m_preferences它不是静态的,因此该类的任何实例都具有其特定的m_preferences.

class Base{

private:

    Preferences m_preferences;

public:
...

}
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个派生类,它m_preferences变为静态,因为我希望这个类的每个新实例共享相同的首选数据,无论发生什么.

class Derived: public Base{

private:

    static Preferences m_preferences;

public:
...

}
Run Code Online (Sandbox Code Playgroud)

我收到了链接错误.

是否可以做我想做的事情(通过继承将非静态成员转换为静态成员)?

如果不是这种不可能性背后的哲学是什么?有计划吗?

谢谢,

此致

罗南

c++ inheritance static

3
推荐指数
1
解决办法
4507
查看次数

typedef模板类的声明

从两个声明之间的元编程前景来看,是否存在差异?

template<typename T>
struct matrix {
    typedef matrix self_type;    // or
    typedef matrix<T> self_type;
};
Run Code Online (Sandbox Code Playgroud)

谢谢

c++ templates

3
推荐指数
1
解决办法
401
查看次数

标准Treeview的C#替换?

我想找一个提供System.Windows.Form.Treeview的替代品.我需要以下改进:

  • 多项选择
  • 更好的性能(标准小部件的性能非常糟糕,特别是在添加一长串项目时)
  • 在树视图窗口小部件中拖放项目时滚动

我可能会忘记一些,但这些非常重要.由于我已经有一个使用标准Treeview的软件,我将考虑API差异.

c# treeview

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

将SVN目录设置为本地只读

两个团队正在开展两个不同的项目"A"和"B".某些文件对两个项目都是通用的,并存储在"Common"目录中.当项目A的发布日期临近时,项目A的团队不希望被团队"B"对"共同"的修改所困扰.

大多数人喜欢这类问题的分支机构,但事实并非如此.我想要的是给A队一个简单的可能性

1)忽略团队B对Common文件所做的所有修改

2)在A队成员之间共享Common文件的修改

以下是存储在svn上的A,B,Common目录:

Common
.. A
.. B
Run Code Online (Sandbox Code Playgroud)

我想要实现的想法是将"Common"目录设置为只读而不能更新到A队.如果他们真的想修改Common文件,他们必须将它们复制到目录"A"中并提交它们.

有没有一种方法,理想情况下是一种简单而优雅的方式来"做那种"?

注意:这是该问题的简化表述.不仅仅有两个团队,而且不仅仅是一个"共同"存储库

NB2:所有球队都使用tortoiseSVN

language-agnostic svn tortoisesvn

0
推荐指数
1
解决办法
758
查看次数