我将开始一个涉及跨平台GUI和大量数字运算的大型软件项目.我计划在C++和CUDA中编写大部分应用程序后端,在Qt4中编写GUI.我计划使用Make作为我的构建系统.这将是一个只有两个开发人员的项目,一旦我相对较远,它可能最终成为一个开源项目.
我的主要问题是,是否有人有任何提示/资源来开发软件背后的架构.
我即将毕业的大学几乎没有这个,这让我感到沮丧.在这一点上,我已经做了很多谷歌搜索,运气不足我需要的东西.我不是要求用勺子喂食所有东西,我会完全满足于书籍或与此相关的网站的链接.
我已经分别完成了大部分这些工作,但我从未尝试将所有内容组合成一个大包.
有人会推荐Release It!:为我所询问的内容设计和部署生产就绪软件吗?
在test.cpp文件中,我有这个:
template <typename T>
class A
{
public:
A(int a){};
virtual ~A();
private:
};
class B : public A<int>
{
public:
B(int a):A(a){};
virtual ~B();
private:
};
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我编译它时,我得到这个:
jason@jason-linux:~/Documents/ECLibrary$ g++ -g -Wall -Wextra -pedantic-errors test.cpp -o tdriver
test.cpp: In constructor ‘B::B(int)’:
test.cpp:14: error: class ‘B’ does not have any field named ‘A’
test.cpp:14: error: no matching function for call to ‘A<int>::A()’
test.cpp:5: note: candidates are: A<T>::A(int) [with T = int]
test.cpp:3: note: A<int>::A(const A<int>&) …
Run Code Online (Sandbox Code Playgroud) 在尝试编写递归模板成员函数以迭代元组时,我遇到了一个问题.
在以下代码中:
#include <cstddef>
#include <iostream>
#include <string>
#include <tuple>
template <typename... P>
class A
{
public:
typedef std::tuple<P...> tup_t;
tup_t tup;
};
template <typename T, typename... P>
class AA : public A<P...>
{
public:
T junk;
};
template <typename T>
class B
{
public:
T a;
void func(const char* delim);
private:
template <size_t x>
void __func(const char* delim);
};
template <typename T>
void B<T>::func(const char* delim)
{
__func<std::tuple_size<typename T::tup_t>::value>(delim);
}
template <typename T>
template <size_t x>
typename std::enable_if<(x > …
Run Code Online (Sandbox Code Playgroud)