相关疑难解决方法(0)

学习使用C++编写音频

我的学位是音频工程,但我对编程很新.我想学习如何在编程环境中使用音频,部分原因是我可以通过有趣的项目更好地学习C++.

首先,C++是否适合这种语言?有什么理由我不应该使用它吗?我听说过Soundfile和其他一些图书馆 - 你会推荐什么?

最后,有没有人知道这个主题的任何好的教程?我已经学习了DSP的基础知识 - 我只想编程它!

编辑:我使用Windows.我想玩实时的东西,有点像Max/MSP,但有更多的控制.

c++ audio

32
推荐指数
5
解决办法
6万
查看次数

如何正确构建OOP和多文件项目?

作为一名初学程序员,刚刚学习了OOP的基础知识,我遇到了很多关于我的练习程序的基本包含结构的问题.我一直在教自己使用各种书面和在线资源进行编程.但是,这是我的问题(好吧,其中一个......):

一方面,我理解抽象,封装和类之间的低度耦合的重要性,但另一方面,我一直在努力构建我的程序并以允许不同的方式设计我的类在不同的文件中的类来了解彼此.

当然,这是我的一个主要问题,导致草率,hackish代码只能按照我想要的方式工作,我将每个基本的主要OOP抛出窗口并开始用全局变量填充我的代码,向前声明一切到处都是,让班级成员公开.

简单地说:我的编程很乱...... C++是我的第一个编程语言,即使我尽力以面向对象的方式设计/编写,我最终会得到一个丑陋的文件,#包括几乎所有的东西每个文件,以及很少有效的程序和OOP意大利面条代码的奇怪组合!

我是一个自称编程的新手,我接受学习如何构建一个程序需要时间,但我几乎要结束了!我知道我的问题源于我对OOP 有点了解的事实.我知道我想编写处理单个任务的独立类.但与此同时,我不明白如何正确地提醒每个类的程序其他部分的存在.这有点像知道你应该吃什么类型的食物,但不知道如何使用叉...

简而言之,这是我的问题.并进一步跟进我提出的一些更具体的问题:

  • 在C++多文件项目中,将main()函数放在自己的类中是正常/需要的吗?或者将main()留在全局范围内是标准的事情吗?

  • 在之前的程序性程序中,我用C++编写,在main.cpp文件的顶部,在全局作用域中有一个常量变量或#defines并不罕见.例如,可能在程序开始时定义屏幕的尺寸或其他有用信息.OOP会发生什么?是否完全避免了这种做法?或者我是否在项目的每个其他标题中创建MAIN.H文件并将其包含在内?我不知道该怎么办......

  • 在编写我的第一个中等规模的练习OOP程序时,当我开始尝试编写StateMachine类时,我的工作开始戛然而止.我打算让StateMachine类包含程序将使用的所有可能的屏幕状态.但是,出现了一个问题,即我的StateMachine类似乎不知道我的其他一些State类,即使它们都是#included.我见过人们之前做过类的前进声明,是否有必要?我应该在整个地方垃圾邮件发送类的前向声明,还是代码味道?

  • 最后,#include和forward声明命令的顺序是否重要?

我知道这可能是一个超级基本的问题,但是在我从单文件程序c ++初学者程序到多文件OOP编程的过渡中,这给我带来了很大的困难.是否有一些一般的经验法则来构建你的程序,以便一切正常?我一直在使用包含警卫,所以有什么理由不能只在每个源文件中包含#include每个头文件?我应该在每个类的每个头文件中都有#included的common.h文件吗?

我非常感谢社区给予我的任何帮助/建议.我知道在我开始发展我的OOP技能之前,这是一个简单而重要的障碍.我一直试图深入了解保持课程彼此分离的重要性,以至于我不确定如何以一种允许他们真正互相交流的方式真正设置我的课程/文件!非常感谢你的帮助!

c++ oop abstraction interface header

7
推荐指数
1
解决办法
2986
查看次数

使用一种语言的专家或了解更多语言

在企业界,对于多种语言来说,知识渊博(通过知识渊博,我的意思不是专家或新手,但具有一些编码经验)是否更好?

要么

最好是成为一种语言的专家(比如说c ++或java),但只掌握其他语言的基础知识.

我问这个问题,因为我觉得语言可以根据他们提供的功能区分,如垃圾收集等.但这可以用其他语言实现......为什么人们更喜欢一种语言而不是另一种?

这个董事会的一般观点是什么?

c# c++ java coding-style

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

标签 统计

c++ ×3

abstraction ×1

audio ×1

c# ×1

coding-style ×1

header ×1

interface ×1

java ×1

oop ×1