小编jea*_*553的帖子

C++ - 返回const unique_ptr

我想知道为什么我在编译时遇到错误:

const std::unique_ptr<int> get() { 
    return std::make_unique<int>(10);
}

int main() { 

    const std::unique_ptr<int> value = get();

    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

main.cpp: In function ‘int main()’:
main.cpp:10:44: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = int; _Dp = std::default_delete<int>]’
     const std::unique_ptr<int> value = get();
Run Code Online (Sandbox Code Playgroud)

当我constget签名中删除它时,它正确编译.

有没有办法返回一个常量unique_ptr?

c++ c++11

25
推荐指数
1
解决办法
2596
查看次数

AWS Lambda python:.so 模块:ModuleNotFoundError:在子shell 中没有名为“regex._regex”的模块

我正在尝试将一些简单的 CI 作业(例如:linters)运行到我的 python 存储库的 lambda 函数中。

我为此使用了 gitlab-ci,基本架构(与问题没有直接关系,但可能有助于选择)如下:

在我刚刚运行的情况下,CI 作业被定义为一组 shell 命令black --check . (python linter): 1. shell 命令发送到我的 lambda 2. lambda git clone repo 3. lambda 在子进程中执行命令4.返回结果

所以我的 lambda 看起来像这样:

import os
import stat
import sys
import json
import subprocess
import stat
import shutil

from git import Repo


def main(event, lambda_context):
    # I've commented out, so that if you like trying to reproduce it
    # at home, you don't need the additional dependencies :) 
    #Repo.clone_from("https://example.com/the/repo.git")

    # the …
Run Code Online (Sandbox Code Playgroud)

python aws-lambda

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

PostgreSQL - Psycopg2 - copy_from - 编码“UTF8”的字节序列无效:0x00

bytea我想使用 Psycopg2 (2.7.1) copy_from() 方法将字节插入类型为 的 PostgreSQL (9.5.7) 数据库列中。

我可以使用以下代码插入字节:

psycopg2_cursor.copy_from(
    StringIO("\x30\x40\x50"),
    "my_table",
)
Run Code Online (Sandbox Code Playgroud)

通过在插入后对我的表执行 SELECT,我从 bytea 列中获得了预期值:

\x304050

现在,我想在字节前面添加字节 0:

psycopg2_cursor.copy_from(
    StringIO("\x00\x30\x40\x50"),
    "my_table",
)
Run Code Online (Sandbox Code Playgroud)

我收到错误:psycopg2.DataError:编码“UTF-8”的字节序列无效:0x00。根据我的理解,只有在将空字节插入文本字段时才应该触发此错误,但在 bytea 字段中应该按预期工作。我错过了什么吗?有没有简单的方法可以将空字节插入到 bytea 列中?

谢谢!

python postgresql psycopg2

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

为什么 f32 不实现 std::fmt::Binary?

我尝试以f32二进制格式显示 a :

let value: f32 = 0.45;                                                      
let my_string = format!("{:b}", value);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:“f32: std::fmt::Binary不满足特征界限”。

我认为当我们想要将 af32转换为 a的二进制表示时,我们必须自己实现 trait String。事实上,对于一些f32不能用二进制表示的值,Rust 不知道该怎么做。例如,如何处理0.1?特征应该返回字符串0.00011还是0.0001100110011?这就是没有std::fmt::Binaryfor定义的原因f32吗?

rust

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

Linux配置文件名称带数字

我只是想知道为什么有些工具的默认配置文件名称中带有数字。

例如:(50-default.conf对于 rsyslog)。

这个数字的原因是什么?它意味着什么?

linux configuration rsyslog

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

标签 统计

python ×2

aws-lambda ×1

c++ ×1

c++11 ×1

configuration ×1

linux ×1

postgresql ×1

psycopg2 ×1

rsyslog ×1

rust ×1