AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / 问题

All perguntas(coding)

Martin Hope
Wael
Asked: 2024-11-07 20:52:28 +0800 CST

Tendo problemas com which.min dentro do pipe dplyr

  • 9

Tenho alguns problemas com which.mina função dentro de um pipe dplyr. Tenho um problema solution (*)e estou procurando uma maneira mais compacta e elegante de fazer isso.

  1. exemplo reproduzível
library(dplyr)

data=data.frame(s1=c(10,NA,5,NA,NA),s2=c(8,NA,NA,4,20),s3=c(NA,NA,2,NA,10))
data
#>   s1 s2 s3
#> 1 10  8 NA
#> 2 NA NA NA
#> 3  5 NA  2
#> 4 NA  4 NA
#> 5 NA 20 10
  1. Valor mínimo:

aqui com min(x,na.rm=TRUE)eu poderia extrair o valor mínimo

data%>%
  rowwise()%>%
  mutate(Min_s=min(c(s1,s2,s3),na.rm=TRUE))
#> Warning: There was 1 warning in `mutate()`.
#> ℹ In argument: `Min_s = min(c(s1, s2, s3), na.rm = TRUE)`.
#> ℹ In row 2.
#> Caused by warning in `min()`:
#> ! no non-missing arguments to min; returning Inf
#> # A tibble: 5 × 4
#> # Rowwise: 
#>      s1    s2    s3 Min_s
#>   <dbl> <dbl> <dbl> <dbl>
#> 1    10     8    NA     8
#> 2    NA    NA    NA   Inf
#> 3     5    NA     2     2
#> 4    NA     4    NA     4
#> 5    NA    20    10    10
  1. extraindo variável contendo min val:

Aqui estou tendo problemas para extrair qual variável contém o valor mínimo

data%>%
  rowwise()%>%
  mutate(which_s=which.min(c(s1,s2,s3)))
#> Error in `mutate()`:
#> ℹ In argument: `which_s = which.min(c(s1, s2, s3))`.
#> ℹ In row 2.
#> Caused by error:
#> ! `which_s` must be size 1, not 0.
#> ℹ Did you mean: `which_s = list(which.min(c(s1, s2, s3)))` ?

# Solution (*)
data%>%
  rowwise()%>%
  mutate(which_s=if(!is.na(s1)|!is.na(s2)|!is.na(s3)) {which.min(c(s1,s2,s3))} else NA )
#> # A tibble: 5 × 4
#> # Rowwise: 
#>      s1    s2    s3 which_s
#>   <dbl> <dbl> <dbl>   <int>
#> 1    10     8    NA       2
#> 2    NA    NA    NA      NA
#> 3     5    NA     2       3
#> 4    NA     4    NA       2
#> 5    NA    20    10       3

Criado em 2024-11-07 com reprex v2.1.0

  • 3 respostas
  • 76 Views
Martin Hope
globglogabgalab
Asked: 2024-11-06 20:52:20 +0800 CST

Como digitar os gráficos de Altair de Polars em Python?

  • 9

Eu uso polarsdataframes (novo neste módulo) e estou usando alguma tipagem estática, para manter meu código arrumado e limpo para fins de depuração, e para permitir a conclusão automática de métodos e atributos no meu editor. Tudo vai bem.

No entanto, ao plotar coisas a partir de dataframes com a altairAPI, conforme mostrado no documento, não consigo encontrar o tipo do objeto retornado em polars.

import polars as pl
import typing as tp
data = {"a": [0,0,0,0,1,1,1,2,2,3]}

df = pl.DataFrame(data)


def my_plot(df: pl.DataFrame, col: str) -> tp.Any:
    """Plot an histogram of the distribution of values of df[col]"""
    return df[col].value_counts(
        ).plot.bar(
            y="count",
            x=col
        ).properties(
            width=400,
        )

u = my_plot(df, "a")

u.show()

Como eu digito a saída dessa função? O documento afirma que a saída de (...).ploté um DataFramePlotobjeto, mas não há informações sobre esse tipo, e de qualquer forma eu estou usando a saída de (...).plot.bar(...)que tem um tipo diferente.

Se eu executar type(u), obtenho altair.vegalite.v5.api.Chart, mas parece duvidoso usar isso para tipagem estática, e não quero importar altairno meu código, pois os altairmétodos que preciso já estão incluídos em polars.

Não consegui encontrar nenhuma informação sobre isso, então qualquer ajuda é bem-vinda

Obrigado!

python
  • 1 respostas
  • 26 Views
Martin Hope
ExecutionByFork
Asked: 2024-11-06 01:44:22 +0800 CST

sed regex, corresponde à primeira instância entre vários delimitadores

  • 9

Tenho um conjunto de hashes que quero tornar anônimos. Usando o GNU sed (v4.9), como posso substituir apenas partes do hash por outra coisa? Especificamente para o meu caso, quero preservar o $símbolo se ele existir, mas apenas se estiver diretamente na frente do :.

Exemplo:

USER:1234:aad3b435b:abcdef:::
COMPUTER$:4321:aad3b435b:abcdef:::
DOMAIN\bleh:5678:eaad3b4:fedcba:::
DOMAIN\$why:5678:eaad3b4:fedcba:::

Usando o seguinte comando, quase consigo obter o que quero

sed 's/[^$:]\+/REDACTED/1'
REDACTED:1234:aad3b435b:abcdef:::
REDACTED$:4321:aad3b435b:abcdef:::
REDACTED:5678:eaad3b4:fedcba:::
REDACTED$why:5678:eaad3b4:fedcba:::

No entanto, como pode ser visto, esta expressão regular sed corresponde à última entrada incorretamente. Em vez disso, deveria ser

REDACTED:5678:eaad3b4:fedcba:::

O comando sed deve substituir qualquer coisa entre o início da linha ^e $:OR :.

Não sei o que estou fazendo errado. Tentei e tentei fazer a cláusula "or" funcionar corretamente usando agrupamento e lookahead/behind e caracteres de escape, mas não consigo obter o resultado que quero. Pelo que entendi, o sed usa regex básico por padrão, mas não consigo encontrar a solução usando -Eor -rtambém...

regex
  • 2 respostas
  • 53 Views
Martin Hope
msheridan
Asked: 2024-11-05 03:49:49 +0800 CST

C#: Tipos genéricos anuláveis, comportamento inesperado

  • 9

Fiquei me perguntando por que isso acontecia, já que ia contra o que eu esperava. Isso tem a ver com como os tipos Nullable Genéricos são interpretados em C#.

  public static int? MyFunction(){
    return default;
  }

  public static T MyFunctionGeneric<T>() {
    return default;
  }

  public static T? MyFunctionGenericNullable<T>(){
    return default;
  }

  public static void main(string[] args){
    Console.WriteLine(MyFunction());
    Console.WriteLine(MyFunctionGeneric<int?>());
    Console.WriteLine(MyFunctionGenericNullable<int>());
  }

Como esperado, quando defino o tipo de retorno, int?o valor retornado padrão é null.

Este também é o caso quando defino um genérico que retorna seu próprio tipo, porque int?quando é passado, o valor retornado padrão é null.

No entanto, no terceiro caso, embora o tipo de retorno seja tecnicamente int?, o valor padrão retornado é 0. Eu teria que passar in int?como meu parâmetro de tipo para obter uma nullresposta. Note que isso acontece mesmo quando eu declaro explicitamentereturn default(T?)

Isso é um pouco inesperado. Alguém tem uma explicação para isso?

c#
  • 3 respostas
  • 82 Views
Martin Hope
narumi
Asked: 2024-11-05 02:51:24 +0800 CST

Por que `while let` em uma implementação Future aciona o Waker, mas `if let` não?

  • 9

Tenho trabalhado em uma implementação Future em Rust, e encontrei um comportamento que não entendo completamente. Especificamente, estou usando std::sync::mpsc::Receiverdentro do pollmétodo, e estou tentando decidir entre while lete if letpara receber mensagens.

Aqui está a versão simplificada do meu método de enquete:

fn poll(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<Self::Output> {
    let this = self.get_mut();

    // Option 1: Using `while let`
    while let Ok(new_attributes) = this.receiver.try_recv() {
        // Process the message
    }

    // Option 2: Using `if let`
    if let Ok(new_attributes) = this.receiver.try_recv() {
        // Process the message
    }

    Poll::Pending
}

O que eu observei

Quando uso while let, tudo parece funcionar como esperado: o Future é re-polled quando novas mensagens chegam. No entanto, quando uso if let, o Future parece travar e nunca mais acorda, mesmo quando novas mensagens estão disponíveis.

Meu Entendimento

Eu sei que o Waker deve ser usado para notificar o executor de que o Future deve ser re-pesquisado. Dado que minha função de pesquisa sempre retorna Poll::Pending, eu esperaria que o Future continuasse sendo pesquisado repetidamente, a menos que o próprio processo pare. No entanto, não entendo por que while let garante que o Waker seja acionado corretamente, enquanto if let não parece fazer o mesmo.

Contexto adicional

O Futuro é gerado assim:

ctx.task_executor()
    .spawn_critical_blocking("transaction execution service", Box::pin(fut_struct));

A função spawn_critical_blocking funciona da seguinte maneira:

pub fn spawn_critical_blocking<F>(&self, name: &'static str, fut: F) -> JoinHandle<()>
where
    F: Future<Output = ()> + Send + 'static,
{
    self.spawn_critical_as(name, fut, TaskKind::Blocking)
}

E internamente:

fn spawn_critical_as<F>(
    &self,
    name: &'static str,
    fut: F,
    task_kind: TaskKind,
) -> JoinHandle<()>
where
    F: Future<Output = ()> + Send + 'static,
{
    // Wrapping the future and handling task errors
    let task = std::panic::AssertUnwindSafe(fut)
        .catch_unwind()
        .map_err(...);

    let task = async move {
        // Handling task shutdown and execution
        let task = pin!(task);
        let _ = select(on_shutdown, task).await;
    };

    self.spawn_on_rt(task, task_kind)
}

O spawn_on_rtmétodo então usa spawn_blocking.

Minha pergunta

  • Por que usar while let garante que o Waker seja acionado, mas usar if let
  • faz

não?

  • Qual é o mecanismo subjacente que causa essa diferença de comportamento?

Quaisquer informações ou explicações serão muito apreciadas!

asynchronous
  • 1 respostas
  • 68 Views
Martin Hope
KyroAsks
Asked: 2024-11-02 08:05:09 +0800 CST

Maneira eficiente de excluir colunas e linhas de uma matriz numpy usando fatiamento e não np.delete

  • 9

Seria possível, dado um array A, índices de linha e índices de coluna ruins, usar o fatiamento para criar um novo array que não tenha essas linhas ou colunas?

Isso pode ser feito com np.delete da seguinte maneira:

import numpy as np
A=np.random.rand(20,16)
bad_col=np.arange(0,A.shape[1],4)[1:]
bad_row=np.arange(0,A.shape[0],4)[1:]
Anew=np.delete(np.delete(A,bad_row,0),bad_col,1)
print('old shape ',A.shape)
print('new shape ',Anew.shape)

Eu também sei que você pode usar fatiamento para selecionar certas colunas e linhas de um array. Mas eu estou pensando se ele pode ser usado para excluir certas colunas e linhas? E se não, qual a melhor maneira além np.deletede fazer isso.

EDIT: Com base nos comentários, pode não ser possível com o slicing no lugar. Que tal criar um novo array com indexação avançada?

Pode ser feito com o seguinte código, mas é lento, procure uma alternativa mais rápida:

good_col = [i for i in range(A.shape[1]) if i==0 or i % 4 != 0]
good_row=[ i for i in range(A.shape[0]) if i==0 or i % 4 != 0]

Anew2=A[good_row,:][:,good_col]
print('new shape ',Anew2.shape)

Obrigado

python
  • 1 respostas
  • 78 Views
Martin Hope
Robert Joseph Dacunto
Asked: 2024-10-30 08:30:39 +0800 CST

Multicast funciona no WSL1, mas não no WSL2

  • 9

Tenho um pequeno aplicativo que executa dois threads.

Um thread envia um pacote multicast UDP (para o grupo 239.0.0.1) e o outro lê o mesmo pacote multicast.

Quando executo isso no aplicativo no Windows usando o Visual Studio, funciona - o pacote é enviado e recebido com sucesso. Vejo isso no Wireshark. Também tenho um alvo incorporado onde esse aplicativo finalmente roda, executando o VxWorks RTOS, e funciona no VxWorks também.

Eu tentei no Linux usando WSL2. O sendto() é bem-sucedido, mas o recvfrom() falha. No entanto, eu vejo o pacote no Wireshark, e não há erros relatados no Wireshark.

Fiz o downgrade para WSL1 e funciona.

Há algo específico para WSL2 que pode fazer com que o multicast falhe, mas funcione em WSL1, Windows e VxWorks? Se eu mudar para unicast, funciona em WSL2.

Aqui estão alguns trechos de código:

Tópico de recebimento:

uint32_t  ip_addr_mgrp;
uint32_t  ip_addr_mifc;
inet_pton(AF_INET, (char*)"172.18.19.53", &ip_addr_mifc);
inet_pton(AF_INET, (char*)"239.0.0.1", &ip_addr_mgrp);

int fd = socket(AF_INET, SOCK_DGRAM, SOCKET_PROTOCOL);

struct sockaddr_in server_addr;

server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = ip_addr_mifc;
server_addr.sin_port = htons(45007);

bind(fd, (struct sockaddr*)&server_addr, sizeof(server_addr));

struct ip_mreq mreq;
mreq.imr_multiaddr.s_addr = ip_addr_mgrp;
mreq.imr_interface.s_addr = ip_addr_mifc;

setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char*)&mreq, sizeof(mreq));

// code to set to non-blocking

// Loop for reading

// Call select()
// Call FD_ISSET()
// Call recvfrom()

Tópico TX:

uint32_t  ip_addr_mgrp;
uint32_t  ip_addr_mifc;
inet_pton(AF_INET, (char*)"172.18.19.53", &ip_addr_mifc);
inet_pton(AF_INET, (char*)"239.0.0.1", &ip_addr_mgrp);

int fd = socket(AF_INET, SOCK_DGRAM, SOCKET_PROTOCOL);

struct ip_mreq mreq;
mreq.imr_multiaddr.s_addr = ip_addr_mgrp;
mreq.imr_interface.s_addr = ip_addr_mifc;

setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char*)&mreq, sizeof(mreq));

setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, (const char*)&mreq.imr_interface.s_addr, sizeof(struct in_addr));

char loop = 1;
setsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP, (char*)&loop, sizeof(loop));

// code to set to non-blocking

// Loop for sending

// Call sendto() to 237.0.0.1:45007
c
  • 1 respostas
  • 39 Views
Martin Hope
byteunit
Asked: 2024-10-30 06:31:40 +0800 CST

fflush() em ponteiro FILE inválido retorna 0 se compilado com sanitizer

  • 9

Quando li a documentação do fflush, ela diz que retorna 0, se foi bem-sucedido e retorna EOF (EOF está na minha máquina -1) caso contrário. (veja https://man7.org/linux/man-pages/man3/fflush.3.html ou https://en.cppreference.com/w/c/io/fflush )

Então criei o seguinte exemplo:

#include<cstdio>
#include<iostream>

int main()
{
    FILE* fp = std::fopen("/tmp/test", "w+");
    std::fclose(fp);

    std::cout << std::fflush(fp) << std::endl;
    return 0;
}

Se eu compilar com g++ minimal.cppou g++ -O2 -DNDEBUG minimal.cpp, ele imprime -1. Que é o que eu esperava.

Entretanto, quando eu compilo com g++ minimal.cpp -fsanitize=addressou g++ minimal.cpp -fsanitize=thread, ele imprime apenas 0.

Também posso reproduzir o mesmo problema com o clang.

Como isso pode ser?

Usei g++-12 e clang-15 na minha máquina Debian 12 amd64. É sempre o mesmo resultado (ou seja, fflushretorna 0 em vez de -1).

c++
  • 1 respostas
  • 83 Views
Martin Hope
Pavel Orekhov
Asked: 2024-10-26 23:18:07 +0800 CST

Por que a concatenação no log4j é propensa a ataques?

  • 9

Aqui: https://logging.apache.org/log4j/2.x/manual/getting-started.html#best-practice-concat

Eles dizem isso sobre o uso de concatenação de strings no log4j:

Mais importante, essa abordagem é propensa a ataques! Imagine userId sendo fornecido pelo usuário com o seguinte conteúdo: placeholders para argumentos não existentes para disparar falha: {} {} {dangerousLookup}

Alguém poderia explicar por que isso é perigoso? Não entendi o que a concatenação de strings tem a ver com essa coisa de "dangerousLookup".

java
  • 3 respostas
  • 66 Views
Martin Hope
Menyten
Asked: 2024-10-25 16:25:20 +0800 CST

Como transformar uma matriz plana em uma lista de árvores hierárquicas com base em um campo com uma lista de enumerações que denotam o nível

  • 9

Estou tentando transformar uma lista plana de saldos de contas em uma lista de árvores de contas hierárquicas com base em uma lista de códigos exclusivos. Estou com dificuldades para resolver isso, pois não consigo ver quais etapas tomar.

Se você pensar em uma planilha do Excel, então o saldo da conta seria uma linha e o campo codes denota as colunas para quantos níveis a linha foi dividida. Isso significa efetivamente que o primeiro codes[0] é o primeiro nível e codes[1] seria o próximo e assim por diante. Ao transformar os saldos da conta em uma árvore de contas, quero somar o amountOut corretamente para cada nível (codeType e code) e então adicioná-lo como uma árvore de contas na matriz subAccounts.

Abaixo adicionei todos os tipos usados ​​e também forneci um exemplo de entrada e saída.

interface AccountBalance {
    id: string
    codes: Code[]
    amountOut: number
}

type Code = {
    id: string
    codeType: CodeTypes
    code: string
    description: string
}

enum CodeTypes {
    account = "account",
    responsible = "responsible",
    project = "project",
    object = "object",
    counterPart = "counterPart",
    free = "free",
}

type AccountTree = {
    id: string
    name: string
    code: string
    amountOut: number
    subAccounts: AccountTree[]
}

Exemplo de entrada:

const accountBalances: AccountBalance[] = [
            {
                id: "671769fbd36fcd6c2c7f2d9b",
                codes: [
                    {
                        id: "671769fbd36fcd6c2c7f2c2d",
                        codeType: codeTypeEnum.account,
                        code: "1250",
                        description: "Column A",
                    },
                    {
                        id: "671769fbd36fcd6c2c7f2bd5",
                        codeType: codeTypeEnum.responsible,
                        code: "17",
                        description: "Column B",
                    },
                    {
                        id: "671769fbd36fcd6c2c7f2bf7",
                        codeType: codeTypeEnum.counterPart,
                        code: "20",
                        description: "Column C",
                    },
                ],
                amountOut: 24510549,
            },
            {
                id: "671769fbd36fcd6c2c7f2d9c",
                codes: [
                    {
                        id: "671769fbd36fcd6c2c7f2c2d",
                        codeType: codeTypeEnum.account,
                        code: "1250",
                        description: "Column A",
                    },
                    {
                        id: "671769fbd36fcd6c2c7f2bee",
                        codeType: codeTypeEnum.responsible,
                        code: "40",
                        description: "Column B",
                    },
                    {
                        id: "671769fbd36fcd6c2c7f2c08",
                        codeType: codeTypeEnum.counterPart,
                        code: "S3",
                        description: "Column C",
                    },
                ],
                amountOut: 0,
            },
            {
                id: "671769fbd36fcd6c2c7f2d9d",
                codes: [
                    {
                        id: "671769fbd36fcd6c2c7f2c2d",
                        codeType: codeTypeEnum.account,
                        code: "1250",
                        description: "Column A",
                    },
                    {
                        id: "671769fbd36fcd6c2c7f2bdb",
                        codeType: codeTypeEnum.responsible,
                        code: "80",
                        description: "Column B",
                    },
                    {
                        id: "671769fbd36fcd6c2c7f2bdc",
                        codeType: codeTypeEnum.counterPart,
                        code: "52",
                        description: "Column C",
                    },
                ],
                amountOut: 6381398,
            },
        ]

Saída que desejo, exemplo:

const expected: AccountTree = {
            id: "671769fbd36fcd6c2c7f2c2d",
            name: "Column A",
            code: "1250",
            amountOut: 30891947,
            subAccounts: [
                {
                    id: "671769fbd36fcd6c2c7f2bd5",
                    name: "Column B",
                    code: "17",
                    amountOut: 24510549,
                    subAccounts: [
                        {
                            id: "671769fbd36fcd6c2c7f2bf7",
                            name: "Column C",
                            code: "20",
                            amountOut: 24510549,
                            subAccounts: [],
                        },
                    ],
                },
                {
                    id: "671769fbd36fcd6c2c7f2bee",
                    name: "Column B",
                    code: "40",
                    amountOut: 0,
                    subAccounts: [
                        {
                            id: "671769fbd36fcd6c2c7f2c08",
                            name: "Column C",
                            code: "S3",
                            amountOut: 0,
                            subAccounts: [],
                        },
                    ],

                },
                {
                    id: "671769fbd36fcd6c2c7f2bdb",
                    name: "Column B",
                    code: "80",
                    amountOut: 6381398,
                    subAccounts: [
                        {
                            id: "671769fbd36fcd6c2c7f2bdc",
                            name: "Column C",
                            code: "52",
                            amountOut: 6381398,
                            subAccounts: [],
                        },
                    ],
                },
            ],
        }

O que consegui até agora é isso

const uniqueCodeTypes = [
        ...new Set(
            accountBalances.reduce<CodeTypes[]>(
                (acc, balance) => [
                    ...acc,
                    ...balance.codes.flatMap((code) => code.codeType),
                ],
                [],
            ),
        ),
    ]

    const uniqueCodesForCodeType = uniqueCodeTypes.map((codeType) => {
        const uniqueCodesForCodeType = [
            ...new Map(
                accountBalances.reduce<Code[]>((acc, balance) => {
                    const code = balance.codes.find(
                        (code) => code.codeType === codeType,
                    )
                    return code ? [...acc, code] : acc
                }, []).map((code) => [code.code, code])
            ).values(),
        ]
        return uniqueCodesForCodeType
    })

Mas não tenho certeza de como proceder depois disso.

javascript
  • 1 respostas
  • 65 Views
Prev
Próximo

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve