小编Mic*_*has的帖子

有没有办法显示用户定义的postgresql枚举类型定义?

假设我们已经定义了一个postgresql类型:

CREATE TYPE my_type AS ENUM('foo', 'bar');
Run Code Online (Sandbox Code Playgroud)

有没有办法在创建后显示类型定义?

我希望"\ d my_type"能够显示"ENUM('foo','bar')",但它说:

Did not find any relation named "my_type"
Run Code Online (Sandbox Code Playgroud)

pg_type表似乎没有提供足够的信息.

postgresql enums

64
推荐指数
3
解决办法
4万
查看次数

C中数组索引的正确类型是什么?

应该使用C99中的数组索引的类型?它必须适用于LP32,ILP32,ILP64,LP64,LLP64等.它不一定是C89类型.

我找到了5位候选人:

  • size_t
  • ptrdiff_t
  • intptr_t/uintptr_t
  • int_fast*_t/uint_fast*_t
  • int_least*_t/uint_least*_t

有一个简单的代码可以更好地说明问题.什么是最好的类型i,并j在这两个特定的循环.如果有充分的理由,两种不同的类型也可以.

for (i=0; i<imax; i++) {
        do_something(a[i]);
}
/* jmin can be less than 0 */
for (j=jmin; j<jmax; j++) {
        do_something(a[j]);
}
Run Code Online (Sandbox Code Playgroud)

PS在问题的第一个版本中,我忘记了负面索引.

PPS我不打算编写C99编译器.但是编译器程序员的任何答案对我来说都是非常有价值的.

类似的问题:

c indexing types c99

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

<string.h>或<string>?

哪个是在C++项目中包含标准头文件string.h的最佳方法?最后使用[dot] h,如下所示:

#include <string.h>
Run Code Online (Sandbox Code Playgroud)

或者只是写作

#include <string>
Run Code Online (Sandbox Code Playgroud)

或者,也许,使用另一种我不知道的方式?

谢谢!

c++ string string.h

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

寻找纯面向对象的语言

我认为面向对象编程被高估了,但我想学习这个范例.我一直在尝试使用QT 4在PHP 5和C++中执行此操作.不幸的是,我倾向于以结构化方式编程,我不使用很多继承也不使用多个实例.我想我必须学习一种纯粹的面向对象语言,迫使我使用上述功能.

我认为最好的选择可能是学习Ruby.您能否确认或命名更好的替代方案?

我主要在x86-64 Linux上工作.

oop programming-languages

17
推荐指数
8
解决办法
2万
查看次数

C - 实现快速将许多元素推送到数组的末尾

我有一个简单的结构来保存数组:

struct array_of_a_type {
        size_t allocated_size;
        size_t elements; /* 1-index based */
        a_type *array;
};
Run Code Online (Sandbox Code Playgroud)

我想写一个简单的函数,如下所示:

bool simple_function(struct array_of_a_type *my_array, int a, int b, int c, int d)
{
    a_type new_chunk[] = {
        a,   b,   a+b, d,   c,
        c,   c,   c+d, b+d, a,
        a+c, b+c, c+d, c+d, c,
    };
    size_t size = sizeof(new_chunk) / sizeof(a_type);
    return push_to_array(my_array, new_chunk, size);
}
Run Code Online (Sandbox Code Playgroud)

my_array是一个静态的全局变量.下面是push_to_array的实现.

static bool push_to_array(struct array_of_a_type *a, a_type *new_chunk, size_t size)
{
    const size_t new_size = a->elements + size;
    const size_t …
Run Code Online (Sandbox Code Playgroud)

c arrays optimization c99

16
推荐指数
3
解决办法
648
查看次数

在Linux上编写小游戏需要什么?

我想做一个简单的游戏:2d,单人游戏,没有大量的动画和特效.我对准备使用游戏引擎不感兴趣,我想学习用相当通用的语言编写一些代码.我正在使用Linux(AMD64)并且通过漂亮的游戏库来寻找简单的东西.我不想混合使用少数几种语言,其中大多数语言实际上足以满足我的需求.跨平台将是一个优势,但我需要的是一个良好的Linux支持.

我一直在考虑一些解决方案.

Ruby
+语言看起来非常好.
+我要学习Ruby.
- 我担心我可能会遇到其他库的问题.
- 关于Ruby的游戏库的这个主题可能会更长.

SDL + C
+用于游戏.
+它很容易设置.
+还有很多额外的库.
+它是跨平台的.
- 解决方案是相当低的水平.
- 语言有时很难阅读.

QT + C++
+设置非常简单.
+标准的QT库支持我可能需要的一切.
+它是跨平台的.
+文档很好.
- 编译很慢.
- 语言看起来很可怕.
- 标准QT库的大小太大而无法理解.

网络浏览器的环境
+我将学习更多有关此环境的信息.
+它有点用于游戏.
+它是跨平台的.
- 实验太多了.

Java
+它用于游戏.
+标准Java库支持我可能需要的一切.
+它是跨平台的.
- 设置起来相当困难.
- 标准Java库的大小太大而无法理解.
- Java中的源代码看起来更好.
- 我想我不想学习Java.

Google Go
+我将学习Google Go.
- 图书馆存在很大问题.
- 解决方案的水平相当低.


根据这个帖子,Python +看起来有些人用Python做游戏.
+它看起来可能有更多的库而不是Ruby.
- Ruby语言看起来更好.
- 我想我不想学习Python.

C++ +别的东西
+它用于游戏.
+它可能是跨平台的.
+有很多图书馆.
- …

linux

15
推荐指数
2
解决办法
2367
查看次数

Qt标准输出.cout没有打印

我在这个论坛上已经看到了这个问题,但我不知道为什么建议的答案在我的案例中不起作用.所以我试着要求其他洗脱剂.

我是c ++ Qt编程的完全新手.我刚刚让我的Qt crator在linux下运行.

我不明白为什么我的:

cout << "This does not appear";
Run Code Online (Sandbox Code Playgroud)

在qdebug时不会在控制台中打印

qDebug() << "This appears";
Run Code Online (Sandbox Code Playgroud)

这是我的.pro文件中包含的内容:

QT       += core gui

TARGET = aaa
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp \
    IeplcModule.cpp

HEADERS  += mainwindow.h \
    IeplcModule.h

FORMS    += mainwindow.ui

#enable console
CONFIG += console
Run Code Online (Sandbox Code Playgroud)

任何的想法?

干杯,

斯特凡诺

c++ qt cout stdout

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

如何在图像中填充"洞"?

我有星系的照片.这些图像上有一些不需要的数据(如星星或飞机条纹)被屏蔽掉了.我不仅希望用一些平均值填充遮罩区域,而是根据周围数据对它们进行插值.我如何在python中做到这一点?

我们在SciPy.interpolate包中尝试了各种函数:RectBivariateSpline,interp2d,splrep/splev,map_coordinates,但它们似乎都在寻找现有像素之间的新像素,我们无法让它们填充数据中的任意"漏洞" .

python interpolation mask image-processing astronomy

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

armv6和armv7

我有一个我创建的应用程序,我正在尝试在较旧的iphone 3g上进行测试.我已多次使用这款手机进行测试,但由于某种原因,这款新应用程序不接受该版本.

我做了一些搜索,发现我需要从"armv7"到"armv6"收取架构,我在项目和目标中都这样做了.执行此操作后,我在尝试构建设备时遇到以下错误(构造是应用程序的名称)

Could not launch "construction" No such file or directory (/Users/Matthew/Library/Developer/Xcode/DerivedData/Construction-cqtujdbjhpvbkrehtfzwvuhvxdrs/Build/Products/Debug-iphoneos/Construction.app/Construction)

但我可以在模拟器中构建它工作得很好......任何想法?

armv6 ios

7
推荐指数
2
解决办法
2668
查看次数

PHP 和 PHPUnit:如何调用参数类型错误的方法(或函数)然后成功?

我想测试(使用 PHPUnit)一个包含 foreach 循环的方法。我想要完整的路径覆盖。原始代码有点太复杂,所以我在下面创建了一个最小的示例来说明我的问题。foreachPHP中的循环有3种情况。(我使用 PHP 8.2。)

\n
    \n
  1. 空可迭代的东西。
  2. \n
  3. 不是空的可迭代的东西。
  4. \n
  5. 不可迭代的东西。
  6. \n
\n
    public function dodo(array $a)\n    {\n        foreach ($a as $one) {\n            return $one;\n        }\n\n        return null;\n    }\n
Run Code Online (Sandbox Code Playgroud)\n

很容易涵盖前两个:非空数组和空数组。但是我如何传递一个不可迭代的东西作为函数参数呢?我尝试了几种方法,但我\xe2\x80\x99已经得到了类型错误。

\n
$something->dodo(null); # TypeError\n\ncall_user_func([$something, 'dodo'], null); # TypeError\n\n$rClass = new ReflectionClass($something);\n$rMethod = $rClass->getMethod('dodo');\n$rMethod->invoke($something, null); # TypeError\n
Run Code Online (Sandbox Code Playgroud)\n

我不想\xe2\x80\x99 不想从方法定义中删除或更改类型。这会使代码的可读性降低一些。有办法解决吗?如何编写一个涵盖 foreach 循环的所有情况的测试?

\n

换句话说:\n我如何使用dodo错误类型的参数调用?我想编写具有非常高的代码路径覆盖率的测试。

\n

php phpunit type-hinting php-8.2

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