小编Gio*_*ino的帖子

位数:预处理器魔术与现代C++

假设我想为16位块中的64位整数创建一个编译时构造的位计数查找表.我知道这样做的唯一方法是以下代码:

#define B4(n) n, n + 1, n + 1, n + 2
#define B6(n)   B4(n),   B4(n + 1),   B4(n + 1),  B4(n + 2)  
#define B8(n)   B6(n),   B6(n + 1),   B6(n + 1),  B6(n + 2)
#define B10(n)  B8(n),   B8(n + 1),   B8(n + 1),  B8(n + 2)
#define B12(n)  B10(n),  B10(n + 1),  B10(n + 1), B10(n + 2)
#define B14(n)  B12(n),  B12(n + 1),  B12(n + 1), B12(n + 2)
#define B16(n)  B14(n),  B14(n + 1),  B14(n …
Run Code Online (Sandbox Code Playgroud)

c++ bit-manipulation c-preprocessor c++11 c++14

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

主函数中的最大语句数是多少?

主函数或任何其他函数可以处理的最大语句数是多少?声明的字符限制是什么?

c syntax

4
推荐指数
1
解决办法
97
查看次数

Clang 5.0上的vsprintf和vsnprintf [-Wformat-nonliteral]警告

我有这一大块代码

static void err_doit(int errnoflag, int level, const char *fmt, va_list ap)
{
    int     errno_save;
    unsigned long n;
char    buf[MAXLINE];
    errno_save = errno;    
    #ifdef  HAVE_VSNPRINTF
vsnprintf(buf, sizeof(buf), fmt, ap);   /* this is safe */
    #else
vsprintf(buf ,fmt, ap);         /* this is not safe */
    #endif
n = strlen(buf);
if (errnoflag)
    snprintf(buf + n, sizeof(buf) - n, ": %s", strerror(errno_save));
strcat(buf, "\n");

if (daemon_proc) {
    syslog(level,"%s", buf);
} else {
    fflush(stdout);     
    fputs(buf, stderr);
    fflush(stderr);
}
return;
}
Run Code Online (Sandbox Code Playgroud)

当我编译它(Clang 5.0.0 with -Weverything)时,我获得了这些警告: …

c printf network-programming clang

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

字符串交叉产品

使用:

digits   = '123456789'
cols     = 'ABCDEFGHI'
Run Code Online (Sandbox Code Playgroud)

我想要输出:

["1A", "1B", "1C", "1D", "1E", "1F", "1G", "1H", "1I", "2A", "2B", "2C", "2D", "2E", "2F", "2G", "2H", "2I", "3A", "3B", "3C", "3D", "3E", "3F", "3G", "3H", "3I", "4A", "4B", "4C", "4D", "4E", "4F", "4G", "4H", "4I", "5A", "5B", "5C", "5D", "5E", "5F", "5G", "5H", "5I", "6A", "6B", "6C", "6D", "6E", "6F", "6G", "6H", "6I", "7A", "7B", "7C", "7D", "7E", "7F", "7G", "7H", "7I", "8A", "8B", "8C", "8D", "8E", "8F", "8G", "8H", "8I", …

ruby arrays string

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

使用Qt4的简单菜单栏

我正在尝试用QT 4.6制作一个简单的GUI.我创建了一个代表菜单栏的separete类:

MenuBar::MenuBar()
{
    aboutAct = new QAction(tr("&About QT"), this);
    aboutAct->setStatusTip(tr("Show the application's About box"));
    connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));

    quitAct = new QAction(tr("&Quit"),this);
    quitAct->setStatusTip(tr("Exit to the program"));
    //connect(quitAct, SIGNAL(triggered()), &QApp, SLOT(quit()));

    menuFile = new QMenu("File");
    menuFile->addAction(quitAct);

    menuLinks = new QMenu("Links");

    menuAbout = new QMenu("Info");
    menuAbout->addAction(aboutAct);


    addMenu(menuFile);
    addMenu(menuLinks);
    addMenu(menuAbout);
}
Run Code Online (Sandbox Code Playgroud)

我无法将quitAct的信号与主应用程序的退出槽连接,因为它在MenuBar类中是不可见的.

//connect(quitAct, SIGNAL(triggered()), &QApp, SLOT(quit()));
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

c++ qt qt4

0
推荐指数
1
解决办法
3213
查看次数

Ruby初学者需要一只手

我是红宝石的初学者.
我试图运行此代码,它显示运行时错误.
这段代码出了什么问题?

class Calc
  attr_accessor :val1, :val2
  def initialize (val1,val2)
    @val1=val1
    @val2=val2
  end
end
a=Calc.new(2,3)
a.add_two_numbers(3)

def add_two_numbers(v3)
  return @val1+@val2+v3
end
Run Code Online (Sandbox Code Playgroud)

ruby

0
推荐指数
1
解决办法
405
查看次数