小编Fél*_*ier的帖子

如何在C++中实现类组合?

如果我理解正确,我们至少有两种不同的方法来实现组合.(为了简单起见,使用智能指针实现的情况除外.我几乎不使用STL而且不想学习它.)

我们来看看维基百科的例子:

class Car
{
  private:
    Carburetor* itsCarb;
  public:   
    Car() {itsCarb=new Carburetor();}
    virtual ~Car() {delete itsCarb;}
};
Run Code Online (Sandbox Code Playgroud)

所以,这是一种方式 - 我们有一个指向对象指针作为私有成员.可以将其重写为如下所示:

class Car
{
  private:
    Carburetor itsCarb;
};
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我们将对象本身作为私有成员.(顺便说一句,从术语的角度来看,我是否正确地称这个实体为对象?)

在第二种情况下,隐式调用默认构造函数(如果需要调用非默认构造函数,可以在初始化列表中执行)和析构函数,则不是必须的.但这不是一个大问题......

当然,在某些方面,这两种情况的区别更为明显.例如,在第二种情况下禁止从Car类的const方法调用Carburetor实例的非const方法...

是否有任何"规则"来决定使用哪一个?我错过了什么吗?

c++ oop

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

如何使用SPL检索完整目录树?

如何使用SPL,可能使用RecursiveDirectoryIterator和检索完整目录树RecursiveIteratorIterator

php spl

6
推荐指数
1
解决办法
5845
查看次数

如何将字符串转换为字母数字并将空格转换为破折号?

我想取一个字符串,删除所有非字母数字字符并将所有空格转换为破折号.

php

6
推荐指数
2
解决办法
8604
查看次数

Docker最佳实践:容器的单个进程

Docker 最佳实践指南指出:

"......你应该只在一个容器中运行一个进程......"

Nginx和PHP-FPM应该在不同的容器中运行吗?或者这是否意味着微服务架构只在容器中运行一个服务或"app"?

将这些服务放在单个容器中似乎更容易部署和维护.

php nginx virtual-machine docker dockerfile

6
推荐指数
1
解决办法
1755
查看次数

C#:找到合适的对象与使用相结合是否有一个干净的模式?

我想要一个简洁安全的干净/紧凑模式rulesKey,即使抛出某些东西也会妥善处理.这似乎是不可能的using(除非可能4 using秒,但看起来如此冗长并打开额外的资源,我甚至可能不需要打开).让我感到惊讶的是,这在C++中会如此直接/轻松.有一个很好的解决方案吗?

{
    RegistryKey rulesKey = null;
    rulesKey = rulesKey ?? Registry.LocalMachine.OpenSubKey("Software\\Wow6432Node\\Company\\Internal\\Product");
    rulesKey = rulesKey ?? Registry.LocalMachine.OpenSubKey("Software\\Company\\Company\\Internal\\Product");
    rulesKey = rulesKey ?? Registry.LocalMachine.OpenSubKey("Software\\Wow6432Node\\Company\\Product");
    rulesKey = rulesKey ?? Registry.LocalMachine.OpenSubKey("Software\\Company\\Product");

    // Code using rulesKey, might throw

    rulesKey.Close();
}
Run Code Online (Sandbox Code Playgroud)

c# registry using null-coalescing-operator

6
推荐指数
1
解决办法
116
查看次数

SET NAMES命令失败,访问被拒绝

我试图在这个例子e之后插入一个重音到mysql数据库.使用这个:

mysql_query("SET NAMES 'utf8'");
Run Code Online (Sandbox Code Playgroud)

抛出:

警告:mysql_query()[function.mysql-query]:拒绝访问用户'ODBC'@'localhost'

它没有连接到数据库:

DEFINE ('DB_USER', 'user');
DEFINE ('DB_PASSWORD', 'pword');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'test1');
$dbc = @mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
Run Code Online (Sandbox Code Playgroud)

php mysql unicode utf-8

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

C ++算法/加速库是否具有基数排序?

我想对整数进行排序,并且我知道基数排序对此非常有用。任何此类的库实现?

c++ sorting algorithm radix-sort

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

为什么 PDO::ATTR_EMULATE_PREPARES => TRUE 将所有值作为字符串返回

这是有点共同的知识与不同版本的PHP和MySQL,并通过使用本地预处理语句或模拟预处理语句,可以有natine值类型或没有,像这样:

$value = $db->query("SELECT 1033 AS Code")->fetch(PDO::FETCH_COLUMN)
$value2 = $db->query("SELECT '1033' AS Code")->fetch(PDO::FETCH_COLUMN);

//PDO::ATTR_EMULATE_PREPARES set to true:
var_dump($value); // string(4) "1033"
var_dump($value2); // string(4) "1033"

//PDO::ATTR_EMULATE_PREPARES set to false:
var_dump($value); // int(1033)
var_dump($value2); // string(4) "1033"
Run Code Online (Sandbox Code Playgroud)

这篇文章:

问题是 PDO 由于类型转换为字符串而导致 zval-separation。转换由 PDO 核心请求。

默认情况下,PDO 将始终将数据转换为字符串,并且 PDO_MYSQL 驱动程序只能通过返回 zval 来解决此 PDO 默认值。

为什么 PDO 总是将数据转换为字符串?

php mysql pdo

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

无法在mysql数据库中正确插入希腊字符

我们的mysql数据库显示Î Î¿Î»Ï Î³Î»Ï…ÎºÏŒÏ代替希腊字符,同时将数据从模拟器发送到mysql数据库.其他字符保持不变.

phpMyAdmin截图:

数据

更新:

使用后

@FélixGagnon-Grenier在我的代码中回答它给了我:

数据库

用于表创建的SQL

CREATE TABLE `cart` (
 `id` bigint(20) NOT NULL AUTO_INCREMENT,
 `product_name` varchar(255) NOT NULL,
 `product_price` double(3,2) NOT NULL,
 `product_image` varchar(255) NOT NULL,
 `quantity` int(11) NOT NULL,
 `preferation1` varchar(50) NOT NULL,
 `preferation2` varchar(50) NOT NULL,
 `preferation3` varchar(50) NOT NULL,
 `preferation4` varchar(50) NOT NULL,
 `magazi_id` int(11) NOT NULL,
 `servitoros_id` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

PHP

<?php
    error_reporting(E_ALL ^ E_NOTICE);
    ini_set("default_charset", "UTF-8");
    header('Content-type: text/html; charset=UTF-8');
    mb_internal_encoding('UTF-8');
    mb_http_input("utf-8");
    try …
Run Code Online (Sandbox Code Playgroud)

php mysql android character-encoding http-headers

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

使用 PHP 中的类型将嵌套对象序列化/反序列化为 JSON

我有扩展抽象类的类。我需要通过字符串创建这些类的实例 - 最好是 JSON。

许多对象是嵌套的,许多属性是私有的。我需要一种方法:

  1. 创建完整对象的 JSON 字符串(带有私有属性和嵌套对象 - 带有它们的私有属性)。
  2. 从 JSON 字符串创建一个新对象,具有正确的类型和所有嵌套对象。

我想它需要是递归的。

如果我只是将对象转换为数组,我正在使用最终看起来像废话的命名空间。

我正在考虑编写一个解析器,在我的 JSON 字符串中标记类,然后为每个类硬编码一个工厂函数,但这需要很多时间。

php oop serialization json

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