在这篇文章中,我们将为您详细介绍php–类需要进入一个方法的内容,并且讨论关于php如何使用类的相关问题。此外,我们还会涉及一些关于067_查看KVM虚拟机中的网卡信息(不需要进入启动或进入虚拟机)、
在这篇文章中,我们将为您详细介绍php – 类需要进入一个方法的内容,并且讨论关于php如何使用类的相关问题。此外,我们还会涉及一些关于067_查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)、c – 通过引用传递scoped_ptr(在一个类中从一个方法到另一个方法)是一种好习惯吗?、C++ 类需要对另一个类的对象有可变数量的引用、delphi – 为什么一个类需要一个空方法来调用它?的知识,以帮助您更全面地了解这个主题。
本文目录一览:- php – 类需要进入一个方法(php如何使用类)
- 067_查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)
- c – 通过引用传递scoped_ptr(在一个类中从一个方法到另一个方法)是一种好习惯吗?
- C++ 类需要对另一个类的对象有可变数量的引用
- delphi – 为什么一个类需要一个空方法来调用它?
php – 类需要进入一个方法(php如何使用类)
我有一个类,有一个方法可以返回其他的实例,例如:
class a {
public function foo() {
}
public function bar() {
return new b();
}
}
类“b”在另一个文件中,我可以这样做:
require_once('b.PHP');
class a {
public function foo() {
}
public function bar() {
return new b();
}
}
但我包括一个类,这不是在案件市长的用法.我实际上做:
class a {
public function foo() {
}
public function bar() {
require_once('b.PHP');
return new b();
}
}
真的不要使用require函数,我使用一个导入函数,它使用require,但我为类名做了(而不是自动加载)(我们使用包而不使用命名空间).
这个工作,出错,警告,通知等.是错的吗?
解决方法:
这可以.确保您没有任何不属于类/函数的语句,因为它们只会在bar()函数中执行/可用
067_查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)
#!/bin/bash
#该脚本使用 guestmount 工具,可以将虚拟机的磁盘系统挂载到真实机文件系统中
#Centos7.2 中安装 libguestfs-tools-c 可以获得 guestmount 工具
#虚拟机可以启动或者不启动都不影响该脚本的使用
#将虚拟机磁盘文件挂载到文件系统后,就可以直接读取磁盘文件中的网卡配置文件中的数据
#建立挂载点
clear
mountpoint="/media/virtimage"
[ ! -d $mountpoint ]&& mkdir $mountpoint
read -p "输入虚拟机名称:" name
echo "请稍后..."
#如果有设备挂载到该挂载点,则先 umount 卸载
if mount | grep -q "$mountpoint" ;then
umount $mountpoint
fi
#只读的方式,将虚拟机的磁盘文件挂载到特定的目录下,这里是/media/virtimage 目录
guestmount -r -d $name -i $mountpoint
echo
echo "--------------------------------------------"
echo -e "\033[32m$name 虚拟机中网卡列表如下:\033[0m"
dev=$(ls /media/virtimage/etc/sysconfig/network-scripts/ifcfg-* |awk -F"[/-]" ''{print $9}'')
# ls查看绝对路径
# awk -F"[/-]" 以/或者-为分隔符 分割/media/virtimage/etc/sysconfig/network-scripts/ifcfg-*
# {print $8} == ifcfg {print $9} == eth0..
echo $dev #输出网卡名
echo "--------------------------------------------"
echo
echo
echo "+++++++++++++++++++++++++++++++++++++++++++"
echo -e "\033[32m 网卡 IP 地址信息如下:\033[0m"
for i in $dev
do
echo -n "$i:"
grep -q "IPADDR" /media/virtimage/etc/sysconfig/network-scripts/ifcfg-$i || echo "未配置 IP 地址"
# grep -q "IPADDR" 查找eth0..内包含IPADDR的行 静默输出
# IPADDR=192.168.4.5
awk -F"=" ''/IPADDR/{print $2}'' /media/virtimage/etc/sysconfig/network-scripts/ifcfg-$i
# awk -F"=" ''/IPADDR/ 以"="分割,包含/IPADDR/的行,输出$2
done
echo "+++++++++++++++++++++++++++++++++++++++++++"
c – 通过引用传递scoped_ptr(在一个类中从一个方法到另一个方法)是一种好习惯吗?
解决方法
通常,智能指针用于管理对象所有权,所以这里是一个快速运行:
> boost :: scoped_ptr将受保护对象的生命周期限制在封闭范围内,只有一个所有者.
>使用std :: auto_ptr,一次只有一个所有者,但它允许通过赋值传递所有权(作为函数参数或返回值.)
> boost :: shared_ptr通过引用计数支持共享所有权,只有当引用计数变为零时才会销毁受保护对象.这是最通用的智能指针,但也是最昂贵的,因为它遭受了一些小的开销(引用计数通过原子操作来维护,这相当昂贵.)还存在循环依赖的可能性.
> boost :: weak_ptr是一个非拥有的智能指针,可以在运行时升级到boost :: shared_ptr,并检查被保护对象是否仍然存活.
还有像boost :: shared_array这样的数组变体,因为C对单个和多个对象有单独的释放函数(operator delete与operator delete [].)
智能指针支持Resource Acquisition Is Initialization或RAII,这是一种提供exception safety guarantees的方法.
C++ 类需要对另一个类的对象有可变数量的引用
如何解决C++ 类需要对另一个类的对象有可变数量的引用?
假设我有一个 C++ 类(A 类),它需要引用另一个类(B 类)的可变数量的实例。所需的引用数量在编译时是已知的。至于用法,我希望能够在编译时将 B 类型对象的引用传递给 A 类型对象。
我一直在考虑如何解决这个问题,我的一个想法是使用可变参数模板构造。我对可变参数模板不是很熟悉,因此在学习该主题之前,我想知道它是否适合我的问题。
解决方法
引用应该是(智能)指针或 std::ref
对象。为简洁起见,我使用常规指针。根据您希望将它们传递给构造函数的准确程度,您可以这样做:
template <std::size_t nobj> class A
{
std::array<B*,nobj> bs;
public:
// 1 Pass as separate arguments
template <typename ... T>
A(T* ... t) : bs{t...} {
// check that the number of arguments is ok
static_assert(nobj == sizeof ...(T));
}
// 2 Pass as an array
A(const std::array<B*,nobj>& bs) : bs(bs) {}
};
// deduce the template parameter from the number of arguments
template<typename ... T>
A(T... t) -> A<sizeof ... (T)>;
所以你可以像这样进行初始化:
A a{&b1,&b2,&b3};
像这样:
std::array<B,3> bs{&b1,&b3};
A a(bs);
delphi – 为什么一个类需要一个空方法来调用它?
但是,有一件事我不明白 – 在this example file底部:
initialization //with those lines the linked will include the actual code for the services TCSVDataService.Register; TPaddedDataService.Register;
这些Register方法是空的,但是,如果我在初始化部分注释掉这两行,DIContainer.Get(‘dataservice’)将作为TDataService失败.
为什么?这些空方法是什么?
解决方法
关于php – 类需要进入一个方法和php如何使用类的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于067_查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)、c – 通过引用传递scoped_ptr(在一个类中从一个方法到另一个方法)是一种好习惯吗?、C++ 类需要对另一个类的对象有可变数量的引用、delphi – 为什么一个类需要一个空方法来调用它?等相关内容,可以在本站寻找。
本文标签: