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 / user-13844165

BENG's questions

Martin Hope
BENG
Asked: 2024-01-17 13:16:34 +0800 CST

vim, colchetes de função rápida na mesma linha

  • 5

Existe uma maneira rápida de abrir chaves para uma função e terminar no modo de inserção recuado na próxima linha. Então, por exemplo:

void myFunc(int arg) {
    <cursor>
}

Especificamente, estou pedindo uma moção para ser executada depois de escrever os argumentos dentro de ().

No momento, a única maneira que consigo pensar é a direta, insira colchetes abertos e fechados, mova o segundo duas linhas para baixo, suba uma e depois tabule. {}<esc>i<enter><enter><esc>ki<tab>

Isso parece realmente redundante. Acho que também posso esperar para escrever a segunda curva depois de criar as novas linhas e salvar uma opção de modo. Mas existe uma maneira mais inteligente de fazer isso?

vim
  • 2 respostas
  • 29 Views
Martin Hope
BENG
Asked: 2024-01-10 03:39:54 +0800 CST

Coordenando o preenchimento de estruturas em C++ e Objective-C

  • 5

Estou usando Objective-C e Metal para renderizar em uma janela, porém todo o código do meu aplicativo está escrito em C++. Portanto, toda a manipulação dos dados internos da CPU MTLBufferé feita em C++. Isso é feito passando o conteúdo dos buffers (que é um void*) para o código C++, onde ele lança o ponteiro do conteúdo para MyVertex*gravar novos dados de vértice. No meu arquivo de cabeçalho, apenas adicionei condições do compilador para digitar as estruturas de vértice corretamente.

#ifdef __IN_OBJC__
#define V2 vector_float2
#define V4 vector_float4
#endif

#ifdef __IN_CPP__
#define V2 vec2
#define V4 vec4
#endif

typedef struct {
    V2 position;
    V4 color;
} MyVertex;

Aqui vec2estão vec4basicamente estruturas de 2, 4 carros flutuantes implementadas em meu código C++. Mas neste exemplo, Objective-C e C++ pensam que MyVertexsão de tamanhos diferentes. Estou compilando com clang e clang++. E o compilador Objective-C deseja preencher a estrutura para que ela tenha tamanho 32, enquanto C++ diz que a estrutura é de tamanho 24. Atualmente, corrigi isso com #pragma pack, mas parece uma solução fraca. Na verdade, eu preferiria que minha implementação C++ fosse preenchida em vez de compactada para otimizar melhor os buffers nos shaders. Mas não posso preencher deliberadamente uma estrutura como posso empacotar uma.

Devo tornar meus próprios vetores ( vec2…) compatíveis com Objective-C? No momento, eles são escritos como classes. Dessa forma, não terei que fazer declarações condicionais. Eu preferiria que a solução otimizasse melhor o desempenho do buffer no shader.

c++
  • 1 respostas
  • 33 Views
Martin Hope
BENG
Asked: 2024-01-01 04:59:16 +0800 CST

Makefile: obtém o nome de um arquivo em uma lista sem saber o caminho

  • 5

Eu tenho uma lista de fontes em um conjunto de diretórios por

SOURCES = $(wildcard src/**/*.cpp)

Digamos, por exemplo, que temos um diretório como este

src
|- dir_one
|  |- file_one.cpp
|  `- file_two.cpp
|
|- dir_two
|  |- file_three.cpp
|  `- file_four.cpp
|
`- dir_three
   `-file_five.cpp

então $(SOURCES)é igual a

src/dir_one/file_one.cpp
src/dir_one/file_two.cpp
src/dir_two/file_three.cpp
src/dir_two/file_four.cpp
src/dir_three/file_five.cpp

Quero usar funções Makefile para obter uma lista apenas dos nomes dos arquivos, MAS não sei quais diretórios existem. Então, por exemplo, eu quero obter

NAMES = <some makefile functions>

então $(NAMES) é igual a

file_one file_two file_three file_four file_five
makefile
  • 1 respostas
  • 12 Views
Martin Hope
BENG
Asked: 2023-08-22 09:38:42 +0800 CST

Objeto de modelo no modelo

  • 6

Quero ter um template com parâmetros typename T e um objeto do tipo T que represente um null_object. O objetivo é criar uma classe contêiner na qual, para cada tipo, um determinado null_value seja fornecido para o construtor vazio. Por exemplo

template<typename T, T null_value>
class MyObject {
private:
     std::array<T,4> data;

public:
    MyObject() {
        data.fill(null_value);
    }
};

No entanto, não posso fazer isso com a sintaxe fornecida acima. Como posso fazer isso? Se isso não for possível com modelos aninhados, existe uma maneira de definir construtores distintos para alguns valores de modelo específicos? Por exemplo

template<typename T>
class MyObject {
private:
    std::array<T,4> data;

public:
    MyObject<int>() {
        data.fill(0);
    }

    MyObject<float>() {
        data.fill(0.0f);
    }

    MyObject<char>() {
        data.fill('a');
    }
};

EDIT: Para alguns tipos como int, o primeiro pedaço de código será compilado. No entanto, para tipos como float, o pedaço não será compilado.

c++
  • 1 respostas
  • 30 Views

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