在涉及面向对象的设计和分析时,有一组似乎在面试和课程中常用的问题.这是其中之一; 不幸的是,我在大学的OOP教授实际上从未给出答案,所以我一直在想.
问题如下:设计一组用于模拟电梯组的基本对象/方法.什么是对象及其属性/方法?
为了论证,让我们假设我们的建筑有二十层; 底层是大厅,二楼连接到停车场(因此,人们将进入/离开底层或二楼的建筑物).有一个电梯银行为所有楼层提供服务; 电梯组中有三个电梯井,每个井有一个电梯.
在面向对象模型中对此进行建模的正确方法是什么?
我正在使用Valgrind 3.3.1和Massif工具来分析C++应用程序的堆,我想知道是否有一个图形工具来检查文本输出文件.
谢谢你的任何建议.
有什么用using namespace std?
我想看看Layman的解释.
我理解如何使用weak_ptr和shared_ptr.我shared_ptr通过计算其对象中的引用数来理解它是如何工作的.weak_ptr工作怎么样?我尝试阅读boost源代码,并且我不熟悉boost以了解它使用的所有内容.
谢谢.
任何人都可以告诉我一种有效的方法来执行除法操作而不使用'/'.我可以log(n)使用类似于二进制搜索的方法逐步计算整数值.
115/3
57 * 3 > 115
28 * 3 < 115
47 * 3 > 115
.
.
.
38 * 3 is quotient value .....
Run Code Online (Sandbox Code Playgroud)
但还有其他更有效的方法吗?
第一个例子:
int main(){
using namespace std;
vector<int> v1{10, 20, 30, 40, 50};
vector<int> v2{10, 20, 30, 40, 50};
if(v1==v2)
cout<<"equal";
else
cout<<"unequal";
} // it returns equal
Run Code Online (Sandbox Code Playgroud)
第二个例子:
int main(){
using namespace std;
vector<int> v1{10, 20, 30, 40, 50};
vector<int> v2{10, 20, 100000, 40, 50};
if(v1==v2)
cout<<"equal";
else
cout<<"unequal";
} // it returns notequal
Run Code Online (Sandbox Code Playgroud) 好吧,我希望我在这里犯了一个愚蠢的错误.我有一个DisplayDevice3d列表,每个DisplayDevice3d都包含一个DisplayMode3d列表.我想删除DisplayDevice3d列表中没有任何DisplayMode3d的所有项目.我正在尝试使用Lambda来做它,即:
// If the device doesn't have any modes, remove it.
std::remove_if(MyDisplayDevices.begin(), MyDisplayDevices.end(),
[](DisplayDevice3d& device)
{
return device.Modes.size() == 0;
}
);
Run Code Online (Sandbox Code Playgroud)
即使出6名DisplayMode3d在MyDisplayDevices,只有1个有什么DisplayMode3d的其模式集合中,没有被从列表中删除.
我在这里犯了什么错误?
编辑:
好吧,我的错误是我应该使用MyDisplayDevices.remove_if而不是std :: remove_if,但是下面的答案对于使用std :: remove_if:p是正确的.
MyDisplayDevices.remove_if( [](DisplayDevice3d const & device)
{
return device.Modes.size() == 0;
});
Run Code Online (Sandbox Code Playgroud) 毕达哥拉斯三元组是一组三个自然数,a <b <c,其中,2 + b 2 = c 2
例如,3 2 + 4 2 = 9 + 16 = 25 = 5 2.
恰好存在一个毕达哥拉斯三元组,其中a + b + c = 1000.找到产品abc.
资料来源:http://projecteuler.net/index.php?section = problem&id = 9
我试过但不知道我的代码出错了.这是我在C中的代码:
#include <math.h>
#include <stdio.h>
#include <conio.h>
void main()
{
int a=0, b=0, c=0;
int i;
for (a = 0; a<=1000; a++)
{
for (b = 0; b<=1000; b++)
{
for (c = 0; c<=1000; c++)
{
if ((a^(2) …Run Code Online (Sandbox Code Playgroud) 我的uname -a读到:
root@edu [~]# uname -a
Linux edu.educationlinked.com 2.6.18-028stab068.3 #1 SMP Tue Feb 16 20:21:42 MSK 2010 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
我不确定这是哪个Linux操作系统?
我已经在免费存储库中托管了一个存储库,我在Windows上使用Tortoise SVN作为客户端.我需要在上面提到的Linux机器上进行检查等.
我已阅读并阅读并对使用的内容感到困惑?有人可以帮帮我吗.
有谁知道为什么istream对象可以用作bool表达式?例如:
ifstream input("tmp");
int iValue;
while (input >> iValue)
//do something;
Run Code Online (Sandbox Code Playgroud)
这里input >> iValue返回对ifstream对象的引用.我想知道为什么这个对象可以用作bool表达式.
我查看ifstream类,发现这可能是由于以下成员函数:
operator void * ( ) const;
Run Code Online (Sandbox Code Playgroud)
有关此功能的详细信息,请参见此处
如果是的话,有人可以向我解释这个功能吗?该函数的原型与通常的运算符重载声明不同.这个函数的返回类型是什么?
如果不是,那么ifstream对象可以用作bool表达式的原因是什么?
期待您的帮助!
程