小编Ahm*_*med的帖子

使用shared_ptr的示例?

嗨,我今天问了一个问题,关于如何在同一个向量数组中插入不同类型的对象,我的代码就是那个问题

 gate* G[1000];
G[0] = new ANDgate() ;
G[1] = new ORgate;
//gate is a class inherited by ANDgate and ORgate classes
class gate
{
 .....
 ......
 virtual void Run()
   {   //A virtual function
   }
};
class ANDgate :public gate 
  {.....
   .......
   void Run()
   {
    //AND version of Run
   }  

};
 class ORgate :public gate 
  {.....
   .......
   void Run()
   {
    //OR version of Run
   }  

};      
//Running the simulator using overloading concept
 for(...;...;..)
 {
  G[i]->Run() ;  //will run …
Run Code Online (Sandbox Code Playgroud)

c++ boost smart-pointers vector shared-ptr

81
推荐指数
3
解决办法
16万
查看次数

What's the difference between incremental software process model, evolutionary model, and the spiral model?

我今年正在学习软件工程,我对标题中的问题感到困惑.

我的教授和参考文献("软件工程实践者方法")都将这三个标题区分为不同的模型.但是,我看不出明显的区别,因为他们的方法看起来与我相同,但使用不同的语句来定义它们.我觉得它们实际上代表了相同的过程模型.

任何人都可以更好地解释不同的模型吗?

sdlc

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

for循环中的后缀和前缀增量运算符

可能重复:
循环中i ++和++ i之间的区别?

任何人都可以解释这些之间的区别:

for(unsigned col = 0; col < n; ++col, num_to_fill >>= 1U)
{

    for(unsigned row = num_to_fill; row < (1U << n); row += (num_to_fill * 2))
    {
        std::fill_n(&output[col][row], num_to_fill, 1);
    }
}
Run Code Online (Sandbox Code Playgroud)

for(unsigned col = 0; col < n; col++, num_to_fill >>= 1U)
{

    for(unsigned row = num_to_fill; row < (1U << n); row += (num_to_fill * 2))
    {
        std::fill_n(&output[col][row], num_to_fill, 1);
    }
}
Run Code Online (Sandbox Code Playgroud)

什么时候col=0,ex.1 Output[col][row]将在output[1][row]和ex.2 Output[col][row]output[0][row] …

c++ loops

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

致命错误C1083:无法打开包含文件:"升压/ config.hpp":没有这样的文件或目录

我想我做了所有必要的配置,但我仍然得到这个:

Error 1 fatal error C1083: Cannot open include file: 'boost/config.hpp': No such file or directory    File:c:\documents and settings\administrator\my documents\visual studio 2008\libs\boost_1_43_0\boost\smart_ptr\shared_ptr.hpp Line:17
Run Code Online (Sandbox Code Playgroud)

以下是我为添加include和lib文件的目录所做的设置的屏幕截图:

1 http://i37.tinypic.com/153whuv.png

2 http://i37.tinypic.com/2wmi9er.png

3 http://i34.tinypic.com/2ur71g2.png

我错过了什么吗?

c++ boost include

16
推荐指数
2
解决办法
7万
查看次数

使用C++进行GUI?或C#和Java的方式去?

我几乎完成了一个关于在C++中使用OOP的课程,我们在该课程中编写的所有程序都是控制台应用程序.我还完成了C编程的大学课程,所以我认为我有扎实的C编程基础,现在是向GUI迈出一大步的时候了.

我做了很多谷歌搜索,每次我阅读更多页面时我都会感到困惑,我了解到过去有太多着名的选项,包括WinAPI和MFC.我试着调查WinAPI,但这看起来非常艰难,需要很多时间,所以我问了导师的建议,他告诉我如果我想编写GUI程序,我最好学习C#或Java,而不是使用速度更快的C++.更好地设计用于驱动程序等低级编程应用程序.所以我在网上搜索了C++是否仍然用于编写现在的应用程序,令我惊讶的是Firefox,谷歌Chrome,Notepad ++以及sourceforge.net上的许多其他GUI应用程序是用C++编写的,与我教师的建议相矛盾.另外我了解到你可以使用QT或GTK库在C++中构建GUI应用程序,但我不知道如何做到这一点,或者如果这是真的.

所以我的问题是,无论学习曲线多么陡峭,现在有效编写GUI程序的最佳选择是什么.我搜索了C++ GUI选项,因为它认为它比Java或C#应用程序更快,如果有人有不同的意见请说明.

c# c++ java

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

摆动框架,窗格或面板的用途是什么?

我读到JFrame是由几个窗格组成的......什么是窗格,为什么Jframe由窗格组成?为什么有一个JPanel,而JFrame看起来与JPanel完全一样,但是有一个菜单栏和一个关闭按钮,那么JPanel的需求是什么?任何人都可以清楚地向我解释这三个组成部分的定义和用途吗?

java swing

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

什么是USB堆栈?

我想知道USB堆栈的含义及其示例.我研究了很多关于USB的知识,我简单地读了一些像USB这样的书,但没有提到"USB堆栈".

usb

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

在向量中插入元素会损坏指向向量的指针吗?

在模拟逻辑门的程序中,我从使用数组切换

node N[1000];
Run Code Online (Sandbox Code Playgroud)

到矢量

vector<node> N;
Run Code Online (Sandbox Code Playgroud)

我的程序在使用向量之前确实工作正常,但现在它打印出错误的结果,所以我尝试调试,我发现错误发生在这里:

node* Simulator::FindNode(string h)
{
    int i;
    for(i = 0; i < NNodes; i++)
    {
        if (N[i].getname() == h)
        {
            return &N[i];
        }
    }

    node n ;
    N.push_back(n);
    N[NNodes].setname(h);
    NNodes++;
    return &N[NNodes-1]; //why?because of NNodes++  
}

// ...

node* inp1;
node* inp2;
node* out;
string NodeName;

inp_file >> NodeName;
inp1 = FindNode(NodeName);
s1 = inp1;

inp_file >> NodeName;
inp2 = FindNode(NodeName); //inp1 is destroyed here 

inp_file >> NodeName;
out = FindNode(NodeName); //inp2 and inp1 …
Run Code Online (Sandbox Code Playgroud)

c++ pointers vector

5
推荐指数
2
解决办法
1492
查看次数

为什么firefox是用C++和javascript UI编写的?

嗯..我现在正在学习java,我很想知道这会产生明显的性能提升吗?如果许多开发人员遵循类似的Windows编程方法(C++后端和Java UI)或者像python一样使用其他语言?

*this:C++后端和UI的其他语言,而不是使用其他语言编写整个程序.

javascript c++ firefox

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

C 头文件可以被视为接口吗?

我正在从 Robert C. Martin 的《Clean Architecture》一书中学习建筑。本书强调的主要规则之一是 DIP 规则,该规则规定源代码依赖项必须仅指向内部,指向更高级别的策略。尝试将其翻译到嵌入式领域假设 2 个组件schedulertimer. 调度程序是高级策略,它依赖于低级计时器驱动程序,需要调用 API get_current_time()set_timeout()我只需将模块拆分为一个实现文件timer.c和一个标头(一个接口?)timer.h,并且scheduler.c可以简单地包含timer.h使用这些 API 。读这本书将前面的场景描述为违反了依赖关系规则,并暗示应该实现两个组件之间的接口来打破依赖关系。

例如,要模仿 c 中的情况,timer_abstract可以包含带有函数指针的通用结构 struct timer_drv { uint32 (*get_current_time)(void); void (*set_timeout)(uint32 t); }

对我来说,这看起来像是过度设计。一个简单的头文件还不够吗?C 头文件可以被视为接口吗?

c c++ architecture software-design clean-architecture

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