小编spr*_*aff的帖子

为什么这个可变函数模糊不清?

这与我之前的帖子有关.我想知道为什么一个尝试的解决方案不起作用.

template <typename... T>             /* A */
size_t num_args ();

template <>
size_t num_args <> ()
{
    return 0;
}

template <typename H, typename... T> /* B */
size_t num_args ()
{
    return 1 + num_args <T...> ();
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试调用,比方说,num_args<int,float>()那么错误是函数调用是不明确的:

  • A与T = {int,float}
  • B,H = int,T = {float}

我不明白这是多么模糊 - A是声明而B是A声明的函数的定义.对吗?

我试图让这个例子起作用,对我之前的问题的回答似乎声称它永远不会起作用.

如果是这样的话,可变自由函数有什么意义呢?有什么怎么办呢?

c++ variadic-templates c++11

3
推荐指数
1
解决办法
1892
查看次数

多次调用main函数是C中的一个好习惯吗?

我看到了这样的C代码:

#include <stdio.h>

void main  ()
{
    static int ivar = 5;
    printf ("%d", ivar--);

    if (ivar)
        main ();
}
Run Code Online (Sandbox Code Playgroud)

哪个输出:

54321
Run Code Online (Sandbox Code Playgroud)

我是C的新手,我想在条件失败之前,这个main 方法会一次又一次地被调用.由于我是C的新手,main在上述情况下多次调用函数是不错的做法?有没有真实世界的案例,这种代码非常有用?

提前致谢.

c

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

仅在运行时需要时包含php文件

我有一些看起来大致像这样的PHP代码

require_once 'cache.php';
require_once 'generator.php';

if (cache_dirty ('foo')) {
    cache_update ('foo', generate_foo ());
}

print cache_read ('foo');
Run Code Online (Sandbox Code Playgroud)

我的问题是generator.php包含了大量的库,我不想加载/解析它,除非在运行时cache_dirty实际返回false.

我知道有些PHP预编译器可以提供帮助但是现在我需要快速修复.这可能吗?

php

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

相当于"SELECT*FROM(SELECT table_name FROM ...)"的东西?

此查询运行,但它会生成表的名称,而不是从该表中实际选择.

SELECT T.* 
  FROM (SELECT tablename 
          FROM ListOfTables 
         WHERE id = 0) AS T
Run Code Online (Sandbox Code Playgroud)

在ListOfTables包含的地方id=0, tablename='some_table',我想返回相同的结果集,就好像我直接写了一样:

SELECT * FROM some_table
Run Code Online (Sandbox Code Playgroud)

在MySQL 5中是否有以本机方式执行此操作,或者我是否必须在应用程序中执行此操作?

mysql sql mysql5 dynamic-sql

3
推荐指数
1
解决办法
2751
查看次数

CMake 我可以通过另一个程序过滤编译器输出

我可以告诉 CMake 通过外部程序通过管道传输来自编译器和/或链接器的所有 stderr 输出,并在终端上显示其输出吗?

cmake

3
推荐指数
1
解决办法
530
查看次数

何时可以安全地复制当前打开的SQLite数据文件?

我有一个应用程序,它使用QSQLITE驱动程序和本地文件系统上的文件上的QSqlDatabse.我想写一个备份函数,它将保存数据库的快照.

简单地复制文件似乎是一种明显,简单的方法,但我不确定何时这样做是安全的.

应用程序在定义明确的点修改数据库.每次都会创建,使用并立即销毁新的QSqlQuery对象.显式锁定/刷新是一种可接受的解决方案,但Qt API似乎没有公开这一点.

我在Qt将数据库提交到磁盘时找不到任何文档.我想QSqlDatabase析构函数会这样做,但即便如此,我也不知道(在Windows或Linux上)复制文件是否保证会导致最近的更改被复制(而不是仅仅是那些更改)已在文件系统期刊中定稿).有人可以确认或否认吗?如果在执行复制之前关闭写文件句柄会有什么不同吗?

也许唯一安全的方法是进行在线复制,但我已经在使用Qt API而不知道这将如何互动.

任何意见,将不胜感激.

sqlite qt

3
推荐指数
1
解决办法
2654
查看次数

为什么我的 QWidget 样式表无法识别 objectName 规则?

这里我有一个 QComboBox 的子类,它将根据其内容的有效性来更改其文本的颜色。

namespace
{
    const QString GOOD = "good";
    const QString BAD  = "bad";
}

NewDBLabel :: NewDBLabel( DB db, const QString & table ) :
    m_db (db)
{
    connect (this, SIGNAL (textChanged (const QString &)),
            this,  SLOT   (changed     (const QString &)));

    setStyleSheet (
        "QWidget#" + GOOD + " {color: black;} "
        "QWidget#" + BAD  + " {color: darkRed;}");
}

void NewDBLabel :: changed (const QString & label)
{
    if (m_db .label_exists (m_table, label))
    {
        qWarning ("exists"); // this …
Run Code Online (Sandbox Code Playgroud)

css qt

3
推荐指数
1
解决办法
1607
查看次数

如何在Javascript中构建UTC日期作为对象,而不是数字?

在Javascript中,鉴于d=new Date()它可能是这样的d.getHours()!=d.getUtcHours().

我可以构造一个Date对象,明确地给出组件

new Date (y, m, d, hrs, mins)
Run Code Online (Sandbox Code Playgroud)

但如果这些组件是UTC,那我就有问题了.来自文档

UTC()方法与Date构造函数有两种不同的方式.

  • Date.UTC()使用通用时间而不是本地时间.

  • Date.UTC()以数字形式返回时间值,而不是创建Date对象.

如何构造给定UTC组件的Date 对象

javascript date

3
推荐指数
1
解决办法
45
查看次数

git如何知道我的电子邮件?

git log在提交日志中正确显示我的全名和电子邮件地址.我不记得曾经告诉 git我是谁.我是忘记了还是git从其他地方获取这些信息?(Linux)的

git

3
推荐指数
1
解决办法
127
查看次数

为什么$(cat)会删除换行符

foo.sh:

#!/bin/bash

x="$(cat)"

echo "got >>>$x<<<"
Run Code Online (Sandbox Code Playgroud)

在壳中

#> echo abc | foo.sh
got >>>abc<<<
Run Code Online (Sandbox Code Playgroud)

尾随换行符在哪里消失了?

bash

3
推荐指数
1
解决办法
810
查看次数

标签 统计

qt ×2

bash ×1

c ×1

c++ ×1

c++11 ×1

cmake ×1

css ×1

date ×1

dynamic-sql ×1

git ×1

javascript ×1

mysql ×1

mysql5 ×1

php ×1

sql ×1

sqlite ×1

variadic-templates ×1