C++ ::: STL (Standard Template Library) ::: Vector C++ |
Como retornar uma referência ao último elemento de um vector C++ usando a função back()Quantidade de visualizações: 7340 vezes |
O último elemento de um contêiner STL vector pode ser acessado por meio da função back(). Como esta função é sobrecarregada, temos duas opções:reference back(); const_reference back() const;
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[]){
// um vector vazio que conterá inteiros
vector<int> valores;
// vamos inserir três elementos
valores.push_back(54);
valores.push_back(13);
valores.push_back(87);
// vamos obter o valor do último elemento do vector
// Note que back() pode ser usada dos dois lados
// de uma operação de atribuição
int valor = valores.back();
cout << "Último elemento: " << valor << endl;
// vamos alterar o valor do último elemento
valores.back() = 102;
// vamos testar o resultado
cout << "Último elemento: " << valores.back() << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Último elemento: 87 Último elemento: 102 Note que aqui nós usamos: int valor = valores.back(); para guardar o valor do último elemento na variável valor. Poderíamos também usar: int& valor = valores.back(); valor = 102; Agora valor é uma referência direta ao último elemento do vector. Desta forma, qualquer alteração no valor da variável valor afetará também o último elemento do vector. Observe agora o seguinte trecho de código: int valor = valores.back(); // o último elemento é 87 valores.back() = 20; cout << "Último elemento: " << valor << endl; Aqui nós acessamos o valor do último elemento, guardarmos-o na variável valor e atribuímos o valor 20 à valores.back(). Porém, ao imprimirmos a variável valor o seu conteúdo ainda é 87. De fato, o que gostaríamos é que uma alteração em valores.back() afetasse também a variável valor. Assim: int& valor = valores.back(); // o último elemento é 87 valores.back() = 20; cout << "Último elemento: " << valor << endl; Mas, como evitar alterações diretas na variável valor? Podemos declarar valor como uma referência constante, ou seja, usar a segunda versão da função back(), a saber const T&, que retorna uma referência constante. Veja: const int& valor = valores.back(); // o último elemento é 87 valores.back() = 20; valor = 300; // esta linha não compila cout << "Último elemento: " << valor << endl; Agora o efeito que queríamos é alcançado. Alterações em valores.back() afetam a variável valor, mas, não podemos alterar valor diretamente, já que esta variável é uma referência constante agora. |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como converter um valor inteiro em um caractere da tabela ASCII em Java fazendo um cast de int para charQuantidade de visualizações: 3 vezes |
|
Nesta dica mostrarei como é possível ler um valor inteiro e obter o caractere correspondente na tabela ASCII. Veja que tudo que temos a fazer é realizar uma conversão forçada de int para char. Veja o código completo para o exemplo:
package arquivodecodigos;
import java.util.Scanner;
public class Estudos{
public static void main(String[] args){
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar um número
System.out.print("Informe um número inteiro: ");
int numero = Integer.parseInt(entrada.nextLine());
// vamos converter o número para um caractere
char letra = (char)numero;
// e agora mostramos o resultado
System.out.println("A letra correspondente é: " + letra);
System.exit(0);
}
}
Ao executarmos este código Java nós teremos o seguinte resultado: Informe um número inteiro: 65 A letra correspondente é: A |
Java ::: Dicas & Truques ::: Expressões Regulares |
Como remover todos os espaços de uma string em Java usando expressões regularesQuantidade de visualizações: 8322 vezes |
|
Nesta dica mostrarei como usar o método replaceAll() da classe Matcher da linguagem Java para remover todos os espaços de um texto ou frase. Esta classe faz parte do pacote java.util.regex e é usada em quase todos os códigos Java envolvendo expressões regulares. Veja o código completo para o exemplo:
package arquivodecodigos;
import java.util.regex.*;
public class Estudos{
public static void main(String args[]){
String padrao = "\\s";
Pattern regPat = Pattern.compile(padrao);
String frase = "Esta frase contém alguns espaços";
System.out.println(frase);
Matcher matcher = regPat.matcher(frase);
String res = matcher.replaceAll("");
System.out.println("Sem espaços: " + res);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Esta frase contém alguns espaços Sem espaços: Estafrasecontémalgunsespaços |
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular MDC em C++ - C++ para matemáticaQuantidade de visualizações: 37616 vezes |
|
Como calcular MDC em C++ Atualmente a definição de Máximo Divisor Comum (MDC) pode ser assim formalizada: Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b. O trecho de código abaixo mostra como calcular o MDC de dois números informados:
#include <iostream>
using namespace std;
int MDC(int a, int b){
int resto;
while(b != 0){
resto = a % b;
a = b;
b = resto;
}
return a;
}
int main(int argc, char *argv[]){
int x, y;
cout << "Este programa permite calcular o MDC\n";
cout << "Informe o primeiro valor: ";
cin >> x;
cout << "Informe o segundo valor: ";
cin >> y;
cout << "\nO Máximo Divisor Comum de "
<< x << " e " << y << " é " << MDC(x, y) << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Este programa permite calcular o MDC Informe o primeiro número: 12 Informe o segundo número: 9 O Máximo Divisor Comum de 12 e 9 é 3 |
Nossas 20 dicas & truques de programação mais populares |
|
Java - Java Swing - Como criar sua primeira JTree usando um vetor de nomes de linguagens de programação JavaScript - Como obter entrada do usuário em seus códigos JavaScript usando a função prompt() do objeto window Python - Como excluir e retornar um item da lista Python baseado em seu índice usando a função pop() |
Você também poderá gostar das dicas e truques de programação abaixo |
|
C++ - Como obter o diretório atual usando a função GetCurrentDirectory() da API do Windows - C++ e WinAPI |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





