我的以下问题是关于内存管理.我有一个int变量没有在类中动态分配,比如说invar1.我将此int的内存地址传递给另一个类构造函数.那个班级做到了这个:
class ex1{
ex1(int* p_intvar1)
{
ptoint = p_intvar1;
}
int* ptoint;
};
Run Code Online (Sandbox Code Playgroud)
我应该删除ptoint吗?因为它具有动态分配的int的地址,所以我认为我不需要删除它.
我再次向一个带有new运算符的类声明一个对象:
objtoclass = new ex1();
Run Code Online (Sandbox Code Playgroud)
我将它传递给另一个班级:
class ex2{
ex2(ex1* p_obj)
{
obj = p_obj;
}
ex1* obj;
};
Run Code Online (Sandbox Code Playgroud)
当我已经删除了objtoclass时,我应该删除obj吗?
谢谢!
我正在尝试使用SDL和C++编写程序.如何在SDL中获得屏幕的宽度和高度(以像素为单位)?我试图获得屏幕的宽度而不是窗口的宽度....
给出一个类:
struct employee {
string name;
string ID;
string phone;
string department;
};
Run Code Online (Sandbox Code Playgroud)
以下功能如何工作?
ostream &operator<<(ostream &s, employee &o)
{
s << o.name << endl;
s << "Emp#: " << o.ID << endl;
s << "Dept: " << o.department << endl;
s << "Phone: " << o.phone << endl;
return s;
}
Run Code Online (Sandbox Code Playgroud)
cout << e;生成给定的格式化输出employee e.
示例输出:
Alex Johnson
Emp#: 5719
Dept: Repair
Phone: 555-0174
Run Code Online (Sandbox Code Playgroud)
我无法理解ostream功能是如何工作的.它如何获得参数"ostream&s"?它如何重载"<<"运算符以及<<运算符如何工作?如何用它来写出关于员工的所有信息?有人可以用外行的话回答这些问题吗?