Ir ao conteúdo

Para que serve o namespace e o...


Diego.AS.

Posts recomendados

Postado

ola pessoal

estava "improvisando" umas coisas aqui em C++

dai me surgiu uma duvida

para que serve ao certo os comandos

using namespace std;
//e esse tipo de int main
int main(int argc, char *argv[])

o que eles executão, e existem variaçoes?

valeu

Postado

Sobre os parâmetros da função main, eles servem para se passar parâmetros via linha de comando, permitindo fazer por exemplo:

./programa 4 3

A variável argc é um contador de argumentos, serve para dizer quantos argumentos o programa pode receber. Já a variável argv é o vetor que armazena os valores dos argumentos, armazenados na forma de strings (char *).

namespaces são contextos onde estão definidas funções, macros e variáveis. O namespace std é o contexto padrão, onde estão definidos os nomes presentes nas bibliotecas definidas como padrão pelo C/C++ (por exemplo todos os nomes das classes da STL).

Espero ter ajudado.

ZaZ

Postado


//e esse tipo de int main
int main(int argc, char *argv[])

o que eles executão, e existem variaçoes?

valeu

Suponha que você crie um programa chamado prog.exe e o chame no prompt assim: prog.exe blablabla 123

As variáveis ficarão assim:

argc = 3

argv[0]="prog.exe"

argv[1]="blablabla"

argv[2]="123"

PS: Dica de português: é executam e não executão...

-

Postado

Qualquer pessoa pode criar um namespace. Na verdade, esse tipo de escopo é criado para evitar colisão de nomes. Por exemplo, a classe string pertence ao namespace std, mas eu poderia redefini-la se quisesse. A criação de um namespace se dá como se segue:

namespace zaz
{
// Definições.
}

Se eu quisesse utilizar a string do std e a do zaz no mesmo código eu faria:

std::string s1;
zaz::string s2;

Espero ter ajudado.

ZaZ

Postado

Obrigado pelas ajudas

Outra duvida que me surgiu foi, se em algum momento irei precisar alterar o namespace std para algum outro, ou ele já da suporte a quase tudo que é preciso?

Postado

Ele dá suporta a quase todos os nomes das biblioteca padrão. Caso você vá utilizar outras bibliotecas, poderá ter que utilizar outros namespaces, que virão descritos na documentação das mesmas.

Atenciosamente,

ZaZ

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!