<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;AkIBQ3g-fyp7ImA9WhRRFE4.&quot;"><id>tag:blogger.com,1999:blog-4385255377109263323</id><updated>2011-11-27T22:02:32.657-02:00</updated><category term="C++" /><category term="DBA" /><category term="Geek" /><category term="Projetos" /><category term="Arduino" /><category term="Oracle" /><category term="Programming" /><category term="C" /><title>The Geek's Way</title><subtitle type="html">O jeito geek de ser</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://geeksway.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://geeksway.blogspot.com/" /><author><name>The Geek</name><uri>http://www.blogger.com/profile/00082647841580725467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_ZaJP1iIOzHc/S3DQhAArTRI/AAAAAAAAAAM/kDvmY1LE2So/s1600-R/070828_blog.uncovering.org_geekforever.jpg%3Fcrop%3D1%253A1%26width%3D171" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/TheGeeksWay" /><feedburner:info uri="thegeeksway" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DEAFQ3c-eCp7ImA9WhZTFk0.&quot;"><id>tag:blogger.com,1999:blog-4385255377109263323.post-8426528622017794342</id><published>2011-03-20T04:38:00.000-03:00</published><updated>2011-03-20T04:38:32.950-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-20T04:38:32.950-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DBA" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle" /><title>[ Oracle ] Views que todos DBAs deveriam ter tatuadas no corpo - I</title><content type="html">Boa noite galerinha...&lt;br /&gt;
&lt;br /&gt;
Este post é dedicado a um cara muito gente boa que trabalhou comigo.&lt;br /&gt;
Ele está tentando se "suicidar", hahaha, brincadeirinha...está estudando para virar um DBA!! Boa sorte &lt;b&gt;Gustavo&lt;/b&gt;!!&lt;br /&gt;
&lt;br /&gt;
Ae Douglas...quer dizer Gustavo :P!! se tiver alguma dúvida, é só postar ai nos comments!&lt;br /&gt;
&lt;br /&gt;
Bom sem mais introduções, o assunto de hoje é: Views importantes que todos DBAs deveriam ter tatuadas no corpo!! haha&lt;br /&gt;
&lt;br /&gt;
Seguinte, no oracle existem muitas views importantes...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;P: O que é view?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;R:&lt;/b&gt; View nada mais é do que uma visualização customizada de uma ou mais tabelas ou outras views.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;P: Porque importantes?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;R:&lt;/b&gt; Porque o oracle usa tabelas para armazenar tudo o que acontece no banco, desde a criação de uma tabela, até os logins que são executados.&lt;br /&gt;
&lt;br /&gt;
Vamos dar um exemplo:&lt;br /&gt;
Digamos que o usuário HR executa um comando para criar uma tabela:&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="sql"&gt;SQL&gt; CREATE HR.TABLE TBL_EXAMPLE_1 (
  2    id NUMBER(5),
  3    txt VARCHAR2(500)
  4    );

Table created.

SQL&gt; comment on column HR.TBL_EXAMPLE_1.TXT is 'Este e um exemplo de comentario na coluna.';

Comment created.
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;P: Legal, e agora, como o oracle faz para saber que essa tabela foi criada?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;R:&lt;/b&gt; Simples...ele armazena essas informações em uma ou várias tabela interna dele.&lt;br /&gt;
&lt;br /&gt;
Sera?? hahaha&lt;br /&gt;
bom...para provar isto vamos utilizar algumas views de dicionario chamadas &lt;b&gt;&lt;i&gt;static views&lt;/i&gt;&lt;/b&gt; ( Views estáticas ).&lt;br /&gt;
Elas são chamadas assim porque elas mudam raramente ( somente quando há mudanças no dicionario ).&lt;br /&gt;
Entre as existentes, vamos olhar as seguintes:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;DBA_*&lt;/b&gt; -&gt; Estas views possuem informações sobre tudo que é relevante no banco de dados, e normalmente só deveria ser utilizada por administradores.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ALL_*&lt;/b&gt; -&gt; Estas views possuem informações de todos os objetos que um determinado usuário tem acesso.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;USER_*&lt;/b&gt; -&gt; Estas views possuem informações sobre todos os objetos criado pelo schema.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ex:&lt;/b&gt; &lt;b&gt;&lt;i&gt;DBA_TABLES&lt;/i&gt;&lt;/b&gt;, &lt;b&gt;&lt;i&gt;ALL_TABLES&lt;/i&gt;&lt;/b&gt;, &lt;b&gt;&lt;i&gt;USER_TABLES&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Reparem que todos os nomes dessas views estão no plural e isso vale para todas as outras.&lt;br /&gt;
&lt;br /&gt;
Chega de enrolar e vamos checar se realmente a informação sobre a tabela que criamos acima está no banco.&lt;br /&gt;
&lt;br /&gt;
Execute a seguinte query:&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="sql"&gt;SQL&gt; Select OWNER, TABLE_NAME
  2    From DBA_TABLES
  3   Where OWNER = 'HR'
  4     And TABLE_NAME = 'TBL_EXAMPLE_1';


OWNER                TABLE_NAME
-------------------- ------------------------- 
HR                   TBL_EXAMPLE_1

one row selected.
&lt;/pre&gt;&lt;br /&gt;
Viu....eu não estava enganando voces :P!!&lt;br /&gt;
&lt;br /&gt;
Agora uma questão importante:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;P: Preciso decorar TODOS os nomes dessas views?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;R:&lt;/b&gt; Não, porém deveria saber a maioria delas.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;P: E se eu não souber, o que eu faço?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;R:&lt;/b&gt; Existem sempre a opção de sentar e chorar :P..hahaha mas essa não é lá uma boa opção :P. Na verdade, o oracle possui um tabela onde ele guarda o nome de todas essas tabelas importantes...ufaaa.. thanks Oracle ;)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;P: Qual o nome dela? Como faço então?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;R:&lt;/b&gt; O nome dessa tabela é &lt;b&gt;&lt;i&gt;DICTIONARY&lt;/i&gt;&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="sql"&gt;SQL&gt; describe dictionary

 Name                      Null?    Type
 ------------------------- -------- -----------
 TABLE_NAME                         VARCHAR2(30)
 COMMENTS                           VARCHAR2(4000)
&lt;/pre&gt;&lt;br /&gt;
Digamos que por exemplo voce queria saber qual o nome da tabela onde contém os comentários que foram feitos em uma determinada columa de uma tabela.&lt;br /&gt;
&lt;br /&gt;
Um pouco mais de queries!!:&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="sql"&gt;SQL&gt; SELECT TABLE_NAME, COMMENTS 
  2    FROM DICTIONARY
  3   WHERE TABLE_NAME LIKE 'DBA_%COL%'
  4   ORDER BY 1;

TABLE_NAME            COMMENTS
--------------------- ---------------------------------------------------------
...
DBA_COLL_TYPES        Description of all named collection types in database
DBA_COL_COMMENTS      Comments on columns of all tables and views
DBA_COL_PRIVS         All grants on columns in the database
...

44 rows selected.
&lt;/pre&gt;&lt;br /&gt;
Bom...agora com 44 linhas não fica muito dificil de achar neh?&lt;br /&gt;
Com o passar do tempo, voce acostuma com a lógica nos nomes das tabelas e dai fica mais fácil de achar o nome. ( Ex: .. like 'DBA_%COL%COMMENT%)&lt;br /&gt;
&lt;br /&gt;
Só por curiosidade, vamos ver se o comentario realmente está la? ( teimoso eu né?..hahaha )&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="sql"&gt;SQL&gt; SELECT OWNER, TABLE_NAME, COLUMN_NAME, COMMENTS
  2    FROM DBA_COL_COMMENTS
  3   WHERE OWNER = 'HR' 
  4     AND TABLE_NAME = 'TBL_EXAMPLE_1'
  5     AND COLUMN_NAME = 'TXT';

OWNER    TABLE_NAME    COLUMN_NAME   COMMENTS
-------- ------------- ------------- --------------------------------------------
HR       TBL_EXAMPLE_1 TXT           Este e um exemplo de comentario na coluna.

one row selected.
&lt;/pre&gt;&lt;br /&gt;
É...realmente está lá!! :D&lt;br /&gt;
&lt;br /&gt;
Galerinha...eu ia escrever sobre as views de performance, porém o post iria ficar muito grande....então decidi publicar mais um post sobre views, logo coloco o link aqui.&lt;br /&gt;
&lt;br /&gt;
Espero que tenham gostado....sei que explicar não é muito o meu forte!!&lt;br /&gt;
&lt;br /&gt;
Qualquer dúvida, sugestão, melhorias, criticas etc, só postar um comment ai.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bom...abraços a todos até breve.&lt;br /&gt;
Gustavo: keep walking ;)&lt;br /&gt;
&lt;br /&gt;
[]'sss&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4385255377109263323-8426528622017794342?l=geeksway.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pOKmbsMD9e1I9rbWjPEMQvFO1PM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pOKmbsMD9e1I9rbWjPEMQvFO1PM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pOKmbsMD9e1I9rbWjPEMQvFO1PM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pOKmbsMD9e1I9rbWjPEMQvFO1PM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/TheGeeksWay/~4/fRQnH047-hs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://geeksway.blogspot.com/feeds/8426528622017794342/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://geeksway.blogspot.com/2011/03/oracle-views-que-todos-dbas-deveriam.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4385255377109263323/posts/default/8426528622017794342?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4385255377109263323/posts/default/8426528622017794342?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheGeeksWay/~3/fRQnH047-hs/oracle-views-que-todos-dbas-deveriam.html" title="[ Oracle ] Views que todos DBAs deveriam ter tatuadas no corpo - I" /><author><name>The Geek</name><uri>http://www.blogger.com/profile/00082647841580725467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_ZaJP1iIOzHc/S3DQhAArTRI/AAAAAAAAAAM/kDvmY1LE2So/s1600-R/070828_blog.uncovering.org_geekforever.jpg%3Fcrop%3D1%253A1%26width%3D171" /></author><thr:total>0</thr:total><feedburner:origLink>http://geeksway.blogspot.com/2011/03/oracle-views-que-todos-dbas-deveriam.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YHSHw8eCp7ImA9WhZTFk0.&quot;"><id>tag:blogger.com,1999:blog-4385255377109263323.post-3864168617446323842</id><published>2011-03-20T03:05:00.000-03:00</published><updated>2011-03-20T03:05:39.270-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-20T03:05:39.270-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Arduino" /><category scheme="http://www.blogger.com/atom/ns#" term="Projetos" /><title>Retomando o blog!!</title><content type="html">Bom galera...&lt;br /&gt;
&lt;br /&gt;
Após um tempo longe do blog, estou de volta !! :D&lt;br /&gt;
Dei uma repaginada aqui, e agora realmente pretendo voltar a postar!!&lt;br /&gt;
Nesse periodo fora fiquei estudando, pra minha certificação de OCP, que tirei sexta feira ( 11/03 ), e fazendo mais alguns projetos malucos!!&lt;br /&gt;
&lt;br /&gt;
O video abaixo é uma previa de como o projeto está ficando. Eu pretendo enfeitar a casa do meu avô, que no natal vira um ponto turistico da cidade.&lt;br /&gt;
Eu tive a ideia de fazer este projeto no final do ano passado, pois nos EUA é muito comum voce ver casas enfeitadas desse jeito.&lt;br /&gt;
Porém, para comprar um desses aparelhos prontos de lá, voce irá gastar uns de $250 no minimo.&lt;br /&gt;
&lt;br /&gt;
Em breve postarei mais notícias sobre ele, e sobre as idéias que pretendo implementar nele.&lt;br /&gt;
&lt;br /&gt;
Espero que gostem e que acompanhem o blog!!&lt;br /&gt;
&lt;br /&gt;
** Aviso: para quem gosta de programação e jogo, eu e uns amigos vamos fazer uns screencast ensinando algumas coisas, e também desenvolvendo alguns jogos simples!&lt;br /&gt;
Quem estiver afim só entrar em contato pelo email: &lt;a href="mailto:douglasmurbano@gmail.com?Subject=Screencast de Programacao de Jogos"&gt;douglasmurbano@gmail.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Chega de escrever...deem uma olhada no projeto atual:&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src="http://www.youtube.com/embed/WpWMvUoZwD8?fs=1" allowfullscreen="" width="425" frameborder="0" height="344"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
e como eu pretendo deixar a casa do meu avô:&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src="http://www.youtube.com/embed/rmgf60CI_ks?fs=1" allowfullscreen="" width="425" frameborder="0" height="344"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src="http://www.youtube.com/embed/szLmAPW39uE?fs=1" allowfullscreen="" width="425" frameborder="0" height="344"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
[]s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4385255377109263323-3864168617446323842?l=geeksway.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nQfNDL9GEnvHtGO-crD4erpxi5U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nQfNDL9GEnvHtGO-crD4erpxi5U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nQfNDL9GEnvHtGO-crD4erpxi5U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nQfNDL9GEnvHtGO-crD4erpxi5U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/TheGeeksWay/~4/O8PB4bmZ2rU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://geeksway.blogspot.com/feeds/3864168617446323842/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://geeksway.blogspot.com/2011/03/retomando-o-blog.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4385255377109263323/posts/default/3864168617446323842?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4385255377109263323/posts/default/3864168617446323842?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheGeeksWay/~3/O8PB4bmZ2rU/retomando-o-blog.html" title="Retomando o blog!!" /><author><name>The Geek</name><uri>http://www.blogger.com/profile/00082647841580725467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_ZaJP1iIOzHc/S3DQhAArTRI/AAAAAAAAAAM/kDvmY1LE2So/s1600-R/070828_blog.uncovering.org_geekforever.jpg%3Fcrop%3D1%253A1%26width%3D171" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/WpWMvUoZwD8/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://geeksway.blogspot.com/2011/03/retomando-o-blog.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8CQHw-eSp7ImA9WhZTEEo.&quot;"><id>tag:blogger.com,1999:blog-4385255377109263323.post-8753628399191005569</id><published>2010-02-09T15:19:00.020-02:00</published><updated>2011-03-14T00:54:21.251-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-14T00:54:21.251-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Geek" /><category scheme="http://www.blogger.com/atom/ns#" term="C" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="C++" /><title>Trocando o valor de duas variáveis sem utilizar uma variável temporária</title><content type="html">Olá galerinha.....&lt;br /&gt;
&lt;br /&gt;
Este é meu primeiro post sobre &lt;a href="http://geeksway.blogspot.com/search/label/Programming"&gt;Programação&lt;/a&gt;. É muito "basico", porém eu acho muito interessante...espero que gostem :D!!!&lt;br /&gt;
&lt;br /&gt;
Eu vou mostrar como trocar ( swap ) o valor de duas variáveis sem utilizar uma variável temporária.&lt;br /&gt;
&lt;br /&gt;
Imagine o seguinte caso: Voce tem duas variáveis, X e Y, e voce precisa colocar o valor de Y na variável X, e o valor de X na variável Y.&lt;br /&gt;
&lt;br /&gt;
Por exemplo: Voce tem duas variáveis com seus respectivos valores:&lt;pre name="code" class="cpp"&gt;int x = 4;
int y = 6;
&lt;/pre&gt;&lt;br /&gt;
Agora, vamos criar uma função para trocar os valores das variáveis sem utilizar uma variável temporária:&lt;br /&gt;
&lt;pre name="code" class="cpp"&gt;/*
 * Function to swap two variables values using XOR
 * IN: the two variables by References
 * OUT: nothing
 * Usage: XORswap( &amp;varA, &amp;varB );
 */
void XORswap( int *a, int *b ) {
    *a ^= *b;  // *a = *a ^ *b
    *b ^= *a;  // *b = *a ^ *b
    *a ^= *b;  // *a = *a ^ *b
}
&lt;/pre&gt;&lt;br /&gt;
Agora, deixe-me explicar como o código funciona, porém utilizando os operadores + e -&lt;br /&gt;
&lt;pre name="code" class="cpp"&gt;/*
 * Function to swap two variables values using + and -
 * IN: the two variables by References
 * OUT: nothing
 * Usage: Easyswap( &amp;varA, &amp;varB );
 */
void Easyswap( int *a, int *b ) {
    *a = *a + *b; 
    *b = *a - *b; 
    *a = *a - *b; 
}
&lt;/pre&gt;&lt;br /&gt;
Vamos testar nosso codigo, 1o. passo:&lt;pre name="code" class="cpp"&gt;x = x + y; 
&lt;/pre&gt;Substituindo as variáveis X-&gt;4 e Y-&gt;6 nos temos o seguinte: &lt;pre name="code" class="cpp"&gt;x = 4 + 6; //x = 10
&lt;/pre&gt;2o. passo: &lt;pre name="code" class="cpp"&gt;y = x - y; 
&lt;/pre&gt;Substituindo as variáveis X-&gt;10 and Y-&gt;6 nós temos o seguinte: &lt;pre name="code" class="cpp"&gt;y = 10 - 6; // y = 4  -&gt; primeira troca feita
&lt;/pre&gt;Ultimo passo: &lt;pre name="code" class="cpp"&gt;x = x - y; 
&lt;/pre&gt;Substituindo a variável X-&gt;10 e Y-&gt;4 nós temos o seguinte: &lt;pre name="code" class="cpp"&gt;x = 10 - 4; // x = 6  -&gt; última troca feita.
&lt;/pre&gt;&lt;br /&gt;
Então, depois de tudo, a troca está feita, muito fácil, não é?&lt;br /&gt;
Segue o código completo escrito em &lt;a href="http://geeksway.blogspot.com/search/label/C%2B%2B"&gt;C++&lt;/a&gt;: &lt;pre name="code" class="cpp"&gt;#include &lt;iostream&gt;

using namespace std;

/*
 * Function to swap two variables values using XOR
 * IN: the two variables by References
 * OUT: nothing
 * Usage: Easyswap( &amp;varA, &amp;varB );
 */
void XORswap( int *a, int *b ) {
    *a ^= *b;
    *b ^= *a;
    *a ^= *b;
}


/*
 * Function to swap two variables values using + and -
 * IN: the two variables by References
 * OUT: nothing
 * Usage: EASYswap( &amp;varA, &amp;varB );
 */
void EASYswap( int *a, int *b ) {
    *a = *a + *b; 
    *b = *a - *b; 
    *a = *a - *b; 
}


int main() {
    int a = 3;
    int b = 7;
    
    cout &lt;&lt; "Before XORswap " &lt;&lt; endl 
         &lt;&lt; "A: " &lt;&lt; a        &lt;&lt; endl 
         &lt;&lt; "B: " &lt;&lt; b        &lt;&lt; endl 
         &lt;&lt; "------------"    &lt;&lt; endl;

    XORswap( &amp;a, &amp;b);

    cout &lt;&lt; "After XORswap "  &lt;&lt; endl 
         &lt;&lt; "A: " &lt;&lt; a        &lt;&lt; endl 
         &lt;&lt; "B: " &lt;&lt; b        &lt;&lt; endl 
         &lt;&lt; "------------"    &lt;&lt; endl ;
    
    a = 3;
    b = 7;
    
    cout &lt;&lt; endl 
         &lt;&lt; endl 
         &lt;&lt; endl;

    cout &lt;&lt; "Before EASYswap " &lt;&lt; endl 
         &lt;&lt; "A: " &lt;&lt; a         &lt;&lt; endl 
         &lt;&lt; "B: " &lt;&lt; b         &lt;&lt; endl 
         &lt;&lt; "------------"     &lt;&lt; endl ;

    EASYswap( &amp;a, &amp;b );

    cout &lt;&lt; "After EASYswap " &lt;&lt; endl
         &lt;&lt; "A: " &lt;&lt; a        &lt;&lt; endl 
         &lt;&lt; "B: " &lt;&lt; b        &lt;&lt; endl 
         &lt;&lt; "------------"    &lt;&lt; endl ;
    
    cin.get();
    
}
&lt;/pre&gt;
&lt;br /&gt;
Em breve colocarei mais coisas....&lt;br /&gt;
[]'s para todos&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4385255377109263323-8753628399191005569?l=geeksway.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eBE_tl2k834pqNKCQTosLWZm8cc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eBE_tl2k834pqNKCQTosLWZm8cc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eBE_tl2k834pqNKCQTosLWZm8cc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eBE_tl2k834pqNKCQTosLWZm8cc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/TheGeeksWay/~4/pE7_efcLl3k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://geeksway.blogspot.com/feeds/8753628399191005569/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://geeksway.blogspot.com/2010/02/code-post.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4385255377109263323/posts/default/8753628399191005569?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4385255377109263323/posts/default/8753628399191005569?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheGeeksWay/~3/pE7_efcLl3k/code-post.html" title="Trocando o valor de duas variáveis sem utilizar uma variável temporária" /><author><name>The Geek</name><uri>http://www.blogger.com/profile/00082647841580725467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_ZaJP1iIOzHc/S3DQhAArTRI/AAAAAAAAAAM/kDvmY1LE2So/s1600-R/070828_blog.uncovering.org_geekforever.jpg%3Fcrop%3D1%253A1%26width%3D171" /></author><thr:total>0</thr:total><feedburner:origLink>http://geeksway.blogspot.com/2010/02/code-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcBQn47eCp7ImA9WhZTEEo.&quot;"><id>tag:blogger.com,1999:blog-4385255377109263323.post-2488452388780300618</id><published>2010-02-09T01:33:00.011-02:00</published><updated>2011-03-14T00:24:13.000-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-14T00:24:13.000-03:00</app:edited><title>Hello World</title><content type="html">&lt;pre name="code" class="bash"&gt;#!/bin/ksh
echo "Hello World!!"
&lt;/pre&gt;&lt;br /&gt;
Olá Galera....&lt;br /&gt;
&lt;br /&gt;
Este é o primeiro post do meu blog. Aqui eu vou postar coisas sobre &lt;a href="http://geeksway.blogspot.com/search/label/Programming"&gt;Programação&lt;/a&gt;, Tecnologia, &lt;a href="http://geeksway.blogspot.com/search/label/Games"&gt;Jogos&lt;/a&gt;, Oracle e &lt;a href="http://geeksway.blogspot.com/search/label/Parkour"&gt;Parkour&lt;/a&gt;. Espero que todos gostem!!!  :)&lt;br /&gt;
&lt;br /&gt;
[]'s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4385255377109263323-2488452388780300618?l=geeksway.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nTCq_8NF0KtfQIzGmLYGXeEwHvA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nTCq_8NF0KtfQIzGmLYGXeEwHvA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nTCq_8NF0KtfQIzGmLYGXeEwHvA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nTCq_8NF0KtfQIzGmLYGXeEwHvA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/TheGeeksWay/~4/Rjqydd_bK7Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://geeksway.blogspot.com/feeds/2488452388780300618/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://geeksway.blogspot.com/2010/02/hello-world.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4385255377109263323/posts/default/2488452388780300618?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4385255377109263323/posts/default/2488452388780300618?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheGeeksWay/~3/Rjqydd_bK7Q/hello-world.html" title="Hello World" /><author><name>The Geek</name><uri>http://www.blogger.com/profile/00082647841580725467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_ZaJP1iIOzHc/S3DQhAArTRI/AAAAAAAAAAM/kDvmY1LE2So/s1600-R/070828_blog.uncovering.org_geekforever.jpg%3Fcrop%3D1%253A1%26width%3D171" /></author><thr:total>0</thr:total><feedburner:origLink>http://geeksway.blogspot.com/2010/02/hello-world.html</feedburner:origLink></entry></feed>

