问题列表 - 第317951页

为什么有状态但“constexpr” lambda 不能用作非类型模板参数?

不知何故,我仍然认为 lambda 是常规函数对象的“语法糖”,因此令我惊讶的是,在 C++-20 下,有状态但在其他方面的constexprlambda 实例不能用作非类型模板参数,这与等效的函数对象实例不同。

谁能解释这种行为或决定?

Godbolt示例:

struct always_fn {
    const int x;

    int operator()() const
    {
        return x;
    }
};
inline constexpr always_fn always_f{5};

// lambda equivalent to `always_f`
inline constexpr auto always_2_f = [x = 5]() {
    return x;
};

template<typename F>
struct wrapped {
    F f_;
};
inline constexpr auto wrapped_f = wrapped{always_f};
inline constexpr auto wrapped_2_f = wrapped{always_2_f};

template<auto f>
void pass() {}

int main() {
    pass<always_f>();
    pass<wrapped_f>();
    // error: no matching …
Run Code Online (Sandbox Code Playgroud)

c++ lambda constexpr c++20 non-type-template-parameter

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

如何使用python找到循环

我有电池电压数据,我想找到其中的周期,Python中有没有任何方法可以检测周期,我粘贴数据的链接 https://docs.google.com/spreadsheets/d/1kJICTaMeuIzMnMNLPcetTFWK2YQO-hQx- Alx767jq3o/edit?usp=sharing 这是我的图表在此输入图像描述

我用绘图来绘制图表

import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px
dfm=pd.read_excel(r"C:\Users\Desktop\range\Battery Voltage.xlsx")

x=dfm["date_time"]
y=dfm["External Voltage"]
fig = px.line( x=x,y = y,
title = 'A simple line graph')
fig.show()
Run Code Online (Sandbox Code Playgroud)

在我使用过滤器之前,但我丢失了一些数据,有什么方法可以找到其中的周期

python scipy pandas plotly

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

Oracle PL/SQL:解决 DBMS 输出大小限制的方法

这个问题源于此,但我遇到了另一个不同的问题。

我正在使用 PL/SQL 生成大文本输出

set serveroutput on size 1000000; -- maximum limit
declare my_text clob;    
begin
 for c in ( select letter from dummy_table ) 
  loop
    my_text := my_text  || c.letter || chr(10);
  end loop;
  dbms_output.put_line(my_text);
end;
Run Code Online (Sandbox Code Playgroud)

在真实的代码中,我当然不只是连接单个字母,字符串更长,并且连接有更多元素,整体也更长。我已经将输出缓冲区大小增加到 1000000(这是最大值),这有所帮助,但是当我进一步扩展串联时,又开始失败 - 但现在出现了与输出大小无关的不同错误消息,但我通过实验知道它确实有效,因为如果我减少行数它就会起作用。

在此输入图像描述

是否可以将 clob 保存到临时表中?clob 是这里使用的正确数据类型吗?

sql oracle plsql oracle19c

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

升级到 Flutter 3.16 后,应用栏、背景颜色、按钮大小和空格发生变化

我将 Flutter 版本升级到 3.16。当我运行我的应用程序时,我注意到用户界面发生了很多变化。

  1. 应用栏不再有阴影。当我滚动时,应用程序栏现在带有颜色并且显示时没有阴影。
  2. 原本身体的背景是白色的,现在却染上了一点颜色。
  3. 按钮和空间现在看起来更大了。
  4. 警报对话框、时间选择器、日期选择器和其他材料组件现在看起来有所不同。它们呈现浅紫色(或我正在使用的主题的颜色)。

升级到 Flutter 3.16 前后


如何获得与升级到 Flutter 3.16 之前相同的 UI 外观?

flutter flutter-theme flutter-upgrade flutter-material

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

windowSoftInputMode="adjustResize" 在相对布局中绝对定位的情况下似乎不起作用

我的 Android 屏幕下部有一个 EditText,如图所示。由于一些项目限制,我应该只使用绝对定位。

单击 EditText 时,软键盘会隐藏 EditText,如另一幅图像所示。

在此输入图像描述 在此输入图像描述

我尝试将 android:windowSoftInputMode="adjustResize" 放入清单文件中(也尝试过 adjustmentPan)它仅适用于相对定位(下面注释了 textField_layoutparams 代码),但似乎不适用于绝对定位。

甚至尝试放置 ScrollView (下面的注释代码),但它不起作用。

代码:

class MainActivity : AppCompatActivity() {

private lateinit var binding: ActivityMainBinding

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

        val scrollView: ScrollView
        val relativeLayout: RelativeLayout
        val textField: EditText

    /*scrollView = ScrollView (this)
    scrollView.layoutParams = RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.MATCH_PARENT,
        RelativeLayout.LayoutParams.MATCH_PARENT
    )*/
    //scrollView.isFillViewport = true

    //setContentView(scrollView)

    relativeLayout = RelativeLayout(this)
    relativeLayout.layoutParams = RelativeLayout.LayoutParams (
        RelativeLayout.LayoutParams.MATCH_PARENT,
        RelativeLayout.LayoutParams.MATCH_PARENT
    )
    relativeLayout.setBackgroundColor(Color.parseColor("#0000FF"))

    //scrollView.addView(relativeLayout)
    setContentView (relativeLayout)

    textField = EditText(this)

    val textField_layoutparams: LayoutParams
    textField_layoutparams = RelativeLayout.LayoutParams …
Run Code Online (Sandbox Code Playgroud)

java android kotlin android-relativelayout

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

解析Kotlin中的字段,可以是字符串,也可以是对象

我在从后端接收数据时遇到一个问题,结果字段(例如“somethingField”)可能是 String 或具有两个 Int 列表的对象。如何正确解析这些数据?我正在使用 kotlinx.serialization 。

@Serializable
data class SomeObject(
    ...
    val somethingField: String or SometingObject
    ...
)

@Serializable
data class SomethingObject(
    val list1: List<Int>,
    val list2: List<Int>,
)
Run Code Online (Sandbox Code Playgroud)

kotlin kotlinx.serialization

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

在 Bash 中混合间接扩展和参数转换时的奇怪行为

根据这个答案,我可以检查数组是否是索引的或关联的,如下所示:

$ declare -a a
$ declare -A b
$ echo ${a@a}
a
$ echo ${b@a}
A
Run Code Online (Sandbox Code Playgroud)

然而,如果我使用间接扩展,它就不起作用:

$ var=a
$ echo ${!var@a}

$ var=b
$ echo ${!var@a}

$
Run Code Online (Sandbox Code Playgroud)

然而,如果我初始化数组,它现在又可以工作了:

$ a=()
$ b=()
$ var=a
$ echo ${!var@a}
a
$ var=b
$ echo ${!var@a}
A
$
Run Code Online (Sandbox Code Playgroud)

这是预期行为还是 Bash 错误?

$ bash --version
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
[...]
Run Code Online (Sandbox Code Playgroud)

bash indirection

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

通过引用传递时,类模板是否被实例化?

考虑以下示例:

template <typename T>
class A
{
public:
  void foo () const {t->foo();}
  virtual void fooVirtual() {t->foo();} // MSVC: use of undefined type 'B'
  
protected:
  T* t;
};

class B; // only forward declared

const A<B>& get(); // will be defined in another translation unit
void foo(const A<B>& a); // will be defined in another translation unit

int main () 
{
  const A<B>& a = get();
  foo(a); // MSVC: class template instantiation 'A<B>' being compiled
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这会在 CLang …

c++ templates class-template

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

渐变进度条位置

请问,如何用 50% 的渐变填充进度块,但渐变不会收缩而是静态?

50%的时候应该是这样 在此输入图像描述

body {
  background-color: #4158D0;
  background-image: linear-gradient(43deg, #4158D0 0%, #C850C0 46%, #FFCC70 100%);
}

#progress {
  width: 50%;
  height: 20px;
  border: 5px solid #000;
  background: none;
}

div {
  width: 50%;
  height: 100%;
  overflow: hidden;
  background: linear-gradient(-90deg, rgba(60, 226, 91, 1) 0%, rgba(255, 147, 0, 1) 50%, rgba(247, 3, 3, 1) 100%);
}
Run Code Online (Sandbox Code Playgroud)
<div id="progress">
  <div></div>
</div>
Run Code Online (Sandbox Code Playgroud)

html css

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

使用 SWIG 将 C++ 自定义单元类型转换为原始 Java 类型

我有 C++ 代码,正在尝试使用 SWIG 提供 Java 绑定。

struct meters_t : public boost::units::quantity<boost::units::si::length> {};
Run Code Online (Sandbox Code Playgroud)

我希望尝试将所有引用替换meters_t为doubleor Java.lang.Double。

我在我的 SWIG 接口文件中尝试了以下操作.i:

%typemap(jstype) meters_t "java.lang.Double"
%typemap(jtype) meters_t "java.lang.Double"
%typemap(jni) meters_t "jdouble"
...
// Duplicated for const, const&, &
%ignore meters_t
%include "my_include.h"
Run Code Online (Sandbox Code Playgroud)

但是我目前遇到类型转换错误

error C2440: 'type cast': cannot convert from 'meters_t *' to 'jdouble'
error C2440: 'type cast': cannot convert from `jdouble` to `meters_t *`
Run Code Online (Sandbox Code Playgroud)

有人有任何建议来纠正这个问题吗?我很快就失去了将可能转换meters_t为简单的想法的希望:/double

更新: 我还添加了以下内容

%typemap(javain) meters_t "$javainput"
Run Code Online (Sandbox Code Playgroud)

这使得能够构建 Java 绑定,但是当我尝试使用 …

c++ java swig

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