Articles of linguagem de

Então, por que i = ++ i + 1 é bem definido em C ++ 11?

Eu vi as outras perguntas semelhantes e li o defeito sobre isso. Mas ainda não entendi. Por que i = ++i + 1 bem definido em C ++ 11 quando i = i++ + 1 não é? Como o padrão faz isso bem definido? Ao elaborar, tenho o seguinte sequenciado antes do gráfico (em que […]

É seguro push_back um elemento do mesmo vetor?

vector v; v.push_back(1); v.push_back(v[0]); Se o segundo push_back causar uma realocação, a referência ao primeiro inteiro no vetor não será mais válida. Então isso não é seguro? vector v; v.push_back(1); v.reserve(v.size() + 1); v.push_back(v[0]); Isso torna seguro?

Por que as variables ​​não são declaradas em “try” no escopo em “catch” ou “finally”?

Em C # e em Java (e possivelmente outras linguagens também), as variables ​​declaradas em um bloco “try” não estão no escopo nos blocos “catch” ou “finally” correspondentes. Por exemplo, o código a seguir não compila: try { String s = “test”; // (more code…) } catch { Console.Out.WriteLine(s); //Java fans: think “System.out.println” here instead […]

Quando devo zombar?

Eu tenho uma compreensão básica de objects falsos e falsos, mas não tenho certeza se tenho ou não um sentimento sobre quando / onde usar o mocking – especialmente como isso se aplica a esse cenário aqui .

C ++: lógica por trás da regra de ocultação

Qual é a lógica por trás da regra de ocultação em C ++? class A { void f(int); } class B : public A { void f(double); } // B::f(int) is hidden Se for um recurso significativo, acho que também deve ser possível ocultar funções sem definir novas funções com o mesmo nome: algo assim: […]

Recolher e capturar um padrão de repetição em uma única expressão Regex

Eu continuo batendo em situações onde eu preciso capturar um número de tokens de uma string e depois de inúmeras tentativas eu não consegui encontrar uma maneira de simplificar o processo. Então, digamos que o texto seja: começar: teste-teste-lorem-ipsum-senhor-doloret-etc-etc-algo: fim Este exemplo tem 8 itens dentro, mas diz que pode ter entre 3 e 10 […]

Por que o Rust não suporta o upcasting do object de traço?

Dado este código: trait Base { fn a(&self); fn b(&self); fn c(&self); fn d(&self); } trait Derived : Base { fn e(&self); fn f(&self); fn g(&self); } struct S; impl Derived for S { fn e(&self) {} fn f(&self) {} fn g(&self) {} } impl Base for S { fn a(&self) {} fn b(&self) {} […]

Existe algo como uma variável de contador na expressão regular replace?

Se eu tiver muitas correspondências, por exemplo, no modo de várias linhas, e quiser substituí-las por parte da correspondência, além de um número de contador que aumente. Eu queria saber se qualquer sabor de regex tem uma variável assim. Eu não consegui encontrar um, mas pareço lembrar de algo como isso existe … Não estou […]

O poder de reconhecimento dos regexes “modernos”

Que class de linguagens os regexes modernos reais realmente reconhecem? Sempre que houver um grupo de captura de comprimento ilimitado com uma referência anterior (por exemplo, (.*)_\1 ), um regex agora corresponderá a um idioma não regular. Mas isso, por si só, não é suficiente para corresponder a algo como S ::= ‘(‘ S ‘)’ […]

Por que não é possível usar o regex para analisar HTML / XML: uma explicação formal em termos leigos

Não há um dia no SO que passe sem uma pergunta sobre a análise (X) HTML ou XML com expressões regulares sendo solicitadas. Embora seja relativamente fácil apresentar exemplos que demonstrem a não viabilidade de regexes para essa tarefa ou com uma coleção de expressões para representar o conceito, ainda não consegui encontrar no SO […]