小编use*_*751的帖子

为什么强制复制省略不适用于潜在重叠的子对象?

背景

许多 C++ 程序员可能已经熟悉强制省略复制/移动操作。从链接文本复制的示例。编译器不得插入复制和移动:

  • 在对象的初始化中,当初始化表达式是与变量类型相同的类类型(忽略 cv 限定)的纯右值时:
T x = T(T(f())); // only one call to default constructor of T, to initialize x
Run Code Online (Sandbox Code Playgroud)

这仅适用于已知正在初始化的对象不是潜在重叠子对象的情况:

struct C { /* ... */ };
C f();
 
struct D;
D g();
 
struct D : C
{
    D() : C(f()) {}    // no elision when initializing a base-class subobject
    D(int) : D(g()) {} // no elision because the D object being initialized might
                       // be a base-class subobject of some other …
Run Code Online (Sandbox Code Playgroud)

c++ language-lawyer

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

Java线程开始时间

是否可以在JVM中检索给定java线程的开始时间?

我有一个线程转储,我正在查看一些有问题的线程,我想使用时间与应用程序日志中的特定操作相关联.

java time multithreading jvm

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

什么是_GLIBCXX_VISIBILITY?

我正在浏览gcc(in /usr/include/c++/)中包含的一些标准头文件的源代码,并在每个头文件的顶部找到以下内容:

namespace std _GLIBCXX_VISIBILITY(default)
Run Code Online (Sandbox Code Playgroud)

到底是_GLIBCXX_VISIBILITY(default)什么?

c++ g++

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

如何使用内核创建可启动CD映像?

我有一个内核,要启动我正在使用命令qemu-system-i386 -kernel kernel.bin.有没有办法创建可引导的磁盘映像来启动qemu-system-i386 -cdrom CD.iso

我使用这些命令在linux中编译的代码:

nasm -f elf32 kernel.asm -o kernelasm.o
gcc -m32 -c kernel.c -o kernelc.o
ld -m elf_i386 -T link.ld -o kernel.bin kernelasm.o kernelc.o
Run Code Online (Sandbox Code Playgroud)

然后启动 qemu-system-i386 -kernel kernel.bin

代码:kernel.asm:

[BITS 32]
SECTION .text
    align 4
    dd 0x1BADB002
    dd 0x00
    dd - (0x1BADB002 + 0x00)

global start
global keyboard_handler
global read_port
global write_port
global load_idt

extern kmain
extern keyboard_handler_main

read_port:
    mov edx, [esp + 4]
    in al, dx
    ret

write_port:
    mov   edx, [esp + …
Run Code Online (Sandbox Code Playgroud)

c assembly operating-system kernel nasm

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

mmap:无法分配内存

我有一个C程序,用C计算页面错误服务时间.对于这个程序,我有2个大文件(每个小于3GB - 几乎是RAM的大小)

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "rdstc.h"
#include "config.h"

#define KB 1024
#define MB 1024 * KB
#define GB 1024 * MB
#define SIZE_OF_MEMORY 1 * GB   // Main memory size

#define handle_error(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)

int main(int argc, char *argv[]){

    int fd1, fd2;
    char *addr1, *addr2, c;
    int i, j;
    long long unsigned int s_t, e_t, t=0;

    if (argc != 3){
        printf("usage: a.out <file1> <file2> …
Run Code Online (Sandbox Code Playgroud)

c linux memory operating-system memory-management

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

为什么PyQt中的keyPress事件不能用于密钥Enter?

为什么,当我按下时Enter,该keyPressEvent方法不能满足我的需要?它只是将光标移动到一个新行.

class TextArea(QTextEdit):
    def __init__(self, parent):
        super().__init__(parent=parent)
        self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self.show()

    def SLOT_SendMsg(self):
        return lambda: self.get_and_send()

    def get_and_send(self):
        text = self.toPlainText()
        self.clear()
        get_connect(text)

    def keyPressEvent(self, event):
        if event.key() == QtCore.Qt.Key_Enter: 
            self.get_and_send()
        else:
            super().keyPressEvent(event)
Run Code Online (Sandbox Code Playgroud)

events keypress pyqt4 python-3.x

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

动态创建单选按钮或CheckBox不使用颜色重音

使用v21 AppCompat,我们可以设置如下自定义颜色主题:

<style name="Theme.MyTheme" parent="Theme.AppCompat">
    <!-- customize the color palette -->
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但是我有一堆动态创建的复选框和单选按钮,它们不会从xml中膨胀.这些动态创建的对象不会继承我指定的颜色重音.如何正确设置这些颜色重音?

android themes android-appcompat android-5.0-lollipop

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

Class.forName 如何返回 Class&lt;?扩展 MyAbstractClass&gt;?

假设我有一个抽象类MyAbstractClass

public abstract class MyAbstractClass {
   public abstract SomeObject doSomething();
}
Run Code Online (Sandbox Code Playgroud)

我有这个类的一些具体实现,MyConcreteClass1MyConcreteClass2.

假设我从文件中读取了任何具体实现的类名,然后我想创建对象:

String concreteImplementationName = getConcreteImplementationName();
Class<?> klass = Class.forName(concreteImplementationName);
Run Code Online (Sandbox Code Playgroud)

我得到了类,然后使用反射我可以实例化一个对象。

现在,在这种情况下,我知道concreteImplementationName将只包含MyAbstractClass. 我怎样才能转换klassClass<? extends MyAbstractClass>?

Class<? extends MyAbstractClass> x = // what do I need to do here?
Run Code Online (Sandbox Code Playgroud)

java generics

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

如何高效处理共享度高的递归数据结构?

考虑一个递归的分支数据结构:

data Tree a = Node (Tree a) (Tree a) | Leaf a
    deriving (Show)
Run Code Online (Sandbox Code Playgroud)

可以构造Tree具有许多相同分支的 a ,并且这似乎可以有效处理(至少在 GHC 中) - 例如,通过:

maketree :: Integer -> a -> Tree a
maketree 1 value = Leaf value
maketree depth value = let child = maketree (depth-1) value in Node child child
Run Code Online (Sandbox Code Playgroud)

maketree 32 "Hello"将返回Tree String概念上包含 4294967295 个节点的 a - 但实际上只有 32 个节点将存储在内存中,并且 的主体maketree将仅被评估 32 次。

但是,假设我们实际上尝试以某种方式使用整个树 - 例如,计算节点数:

count :: Tree a -> Integer …
Run Code Online (Sandbox Code Playgroud)

performance haskell

5
推荐指数
0
解决办法
58
查看次数

使用数组和一些方法memcpy struct是否安全?

我想知道在包含数组和方法的结构上使用memcpy是否安全(只是一些getter和setter,因为数组的索引是不寻常的,我必须以某种方式映射它).我知道它对POD是安全的,我不确定我的结构是否会被认为是POD?

c++ arrays struct

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