小编Nav*_*een的帖子

如何在 gcc 8 上使用 std::filesystem?

我已经更新了 gcc 的版本,gcc --version 产生以下输出

    gcc (Ubuntu 8.1.0-5ubuntu1~16.04) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Run Code Online (Sandbox Code Playgroud)

我可以在头文件中包含文件系统而没有任何错误

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

但是当我尝试访问如下所示的命名空间文件系统时,我收到错误消息

namespace fs = std::filesystem;
Run Code Online (Sandbox Code Playgroud)

错误信息

error: ‘filesystem’ is not a namespace-name
 namespace fs = std::filesystem;
Run Code Online (Sandbox Code Playgroud)

这似乎很奇怪,因为 gcc 8 支持 std::filesystem 并且它在命名空间中不可用,我在访问 std::filesystem 时做错了什么吗?

是的,我用 -std=c++17 构建

c++ gcc namespaces

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

如何在Range的末尾插入节点?

我想在选择范围的末尾插入一个节点,但根据此处的 API 文档https://developer.mozilla.org/en-US/docs/Web/API/Range Range.insertNode() 插入节点在范围的开头并且没有其他方法可以在末尾插入,有没有办法在范围对象的末尾添加节点?

javascript range

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

php中的fibanocci系列

我创建了一个以下程序来制作php中的fibanocci系列

function find_max_paths_fib($spaces) {

    $c = array();
    $c[0] = 1;
    $c[1] = 1;

    for ($i = 2; $i <= $spaces; $i++) {
        if ($i >= 2) {
            echo $c[$i] = $c[$i-2] + $c[$i-1];
        }
    }

    return $c[$spaces];


}
Run Code Online (Sandbox Code Playgroud)

$ spaces表示我需要多少生成系列的数字,但是find_max_paths_fib(8000)或者对于一些大数字返回INF,我已经在c ++中尝试过并得到了相同的结果.有没有办法计算它?还是我的功能错了?

php

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

List API 视图返回空对象列表

我正在尝试使用 generics.ListApiView 来获取对象列表,这是我的序列化器

class SitesSerializer(serializers.Serializer):
    class Meta:
        model = models.Sites
        fields = '__all__'
Run Code Online (Sandbox Code Playgroud)

模型

# domain name without www
class Sites(models.Model):
    SiteName = models.CharField(max_length=50)
    DomainName = models.CharField(max_length=50, primary_key=True)
    Currency = models.CharField(max_length=20)
    CurrencySymbol = models.CharField(max_length=10)
    SiteGroup = models.CharField(max_length=50, choices=SHOPZY_SITE_CHOICES,
                                 default=AMAZON)
Run Code Online (Sandbox Code Playgroud)

这是我的视图类

class SitesView(generics.ListAPIView):
    queryset = Sites.objects.all()
    serializer_class = SitesSerializer
Run Code Online (Sandbox Code Playgroud)

但是我没有得到站点对象的列表,而是得到了一个充满空对象的列表,上面代码产生的输出是

[
    {},
    {},
    {},
    {},
    {},
    {},
    {},
    {},
    {},
    {},
    {},
    {},
    {},
    {}
]
Run Code Online (Sandbox Code Playgroud)

这段代码有什么问题吗?为什么其余框架无法显示站点对象的字段?

django django-rest-framework

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

寄存器是真实的吗?它们物理上存在于CPU中吗?

我开始学习x86_64汇编,我注意到的一件事是寄存器的使用,例如rdi,rbp,rax,rbx。它们是否存在于 CPU 中,或者这是汇编器使用的某种抽象机制?

例如,如果我这样做

mov       rax, 60
Run Code Online (Sandbox Code Playgroud)

这是否在硬件中找到具有该指定名称的寄存器?

assembly cpu-architecture cpu-registers

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

如何为接收 LiveData 作为输入的微调器编写绑定适配器?

我有一个像这样在 xml 中定义的微调器

<Spinner
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/expense_category"
        app:sourceData="@{()->createExpenseViewModel.getAllSourceItems(1)}"
        app:layout_constraintStart_toStartOf="@+id/textView"
        android:layout_marginTop="20dp"
        app:layout_constraintTop_toBottomOf="@+id/textView" app:layout_constraintWidth_percent="0.7"
/>
Run Code Online (Sandbox Code Playgroud)

createExpenseViewModel.getAllSourceItems(1) 这个方法返回 LiveData <List<Source>>,所以我为这种情况编写了一个绑定适配器

@BindingAdapter("app:sourceData")
fun setSourceData(spinner: Spinner, sourceList: List<Source>) {

    val categoryItems = ArrayList<String>()
    categoryItems.addAll(sourceList.map { it.sourceName })
    val spinnerAdapter =
        ArrayAdapter<String>(spinner.context, R.layout.simple_spinner_dropdown_item, categoryItems)
    spinner.adapter = spinnerAdapter


}
Run Code Online (Sandbox Code Playgroud)

构建应用程序时,我收到以下错误, ****/ data binding error ****msg:Cannot find the proper callback class for app:sourceData. Tried java.util.List but it has 25 abstract methods, should have 1 abstract methods. file:/home/naveen/Desktop/project-expense/app/src/main/res/layout/activity_create_expense.xml loc:94:34 - 94:80 ****\ data binding error ****

这个错误实际上是什么意思,如何解决这个错误?

编辑: …

data-binding android android-layout kotlin

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