{"id":465,"date":"2022-04-01T09:29:05","date_gmt":"2022-04-01T12:29:05","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/competir\/?page_id=465"},"modified":"2022-04-01T09:37:10","modified_gmt":"2022-04-01T12:37:10","slug":"melhorando-o-desempenho-da-entrada-e-saida-c","status":"publish","type":"page","link":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/melhorando-o-desempenho-da-entrada-e-saida-c\/","title":{"rendered":"Melhorando o desempenho da entrada e sa\u00edda [C++]"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" id=\"yui_3_17_2_1_1648814988438_7773\">Inicialmente foi recomendo utilizar as instru\u00e7\u00f5es <em>scanf <\/em>e <em>printf <\/em>ao inv\u00e9s de <em>cin <\/em>e <em>cout<\/em>, mesmo para a linhagem C++. A quest\u00e3o do desempenho entre essa instru\u00e7\u00f5es equivalentes \u00e9 verdadeira, mas \u00e9 poss\u00edvel obter o mesmo desempenho com <em>cin\/cout<\/em> do que \u00e9 obtido com <em>scanf\/printf<\/em>.<\/p>\n\n\n\n<pre id=\"yui_3_17_2_1_1648814988438_7785\" class=\"wp-block-code\"><code class=\"\">ios_base::sync_with_stdio(false);<br>cin.tie(NULL);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"yui_3_17_2_1_1648814988438_7787\">A primeira instru\u00e7\u00e3o \u00e9 um membro est\u00e1tico da fun\u00e7\u00e3o <em>std::ios_base<\/em>. Ela ativa ou desativa a sincroniza\u00e7\u00e3o dos fluxos no padr\u00e3o da linguagem C++ com seus fluxos da linguagem C correspondente. Definir <em>sync_with_stdio (false)<\/em> evita essa sincroniza\u00e7\u00e3o antes das opera\u00e7\u00f5es de entrada e sa\u00edda.<br><br>A instru\u00e7\u00e3o <em>tie()<\/em> \u00e9 um m\u00e9todo que garante o esvaziamento do <em>cout<\/em> antes do <em>cin<\/em> aceitar uma entrada e \u00e9 importante na utiliza\u00e7\u00e3o do console, que necessita a atualiza\u00e7\u00e3o constante, mas acaba retardando a execu\u00e7\u00e3o com muitas entradas e sa\u00eddas (como \u00e9 o caso da programa\u00e7\u00e3o competitiva).<br>Por isso \u00e9 interessante definir a instru\u00e7\u00e3o com um ponteiro NULL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"yui_3_17_2_1_1648814988438_7796\">Agora, especificamente em rela\u00e7\u00e3o ao <em>cout<\/em>, embora utilizemos de maneira indiscriminada o <em>cout&lt;&lt;&#8216;\\n&#8217;<\/em> e o <em>cout&lt;&lt;endl<\/em> para gerar uma nova linha, existe uma diferen\u00e7a no desempenho. A instru\u00e7\u00e3o <em>cout&lt;&lt;endl<\/em> e equivalente \u00e0 <em>cout&lt;&lt;\u2018\\n\u2019&lt;&lt;flush<\/em>, e com isso o uso <em>endl <\/em>\u00e9 mais lento porque for\u00e7a o fluxo de descarga. Sendo assim, priorize a op\u00e7\u00e3o com o <em>\\n<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para um c\u00f3digo que faz a leitura de uma grande quantidade de valores e mostra o valor lido imediatamente ap\u00f3s sua leitura, o c\u00f3digo ser\u00e1 o mostrado abaixo, com a inclus\u00e3o das linhas 7 e 8 e o uso do<em> \\n<\/em> na linha 12. Nada realmente dif\u00edcil.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"cpp\" class=\"language-cpp line-numbers\">#include &lt;iostream> \nusing namespace std;\n \nint main() {\n    int i,cont=0;\n \n    ios_base::sync_with_stdio(false);\n    cin.tie(NULL);   \n \n    do {\n        cin >> i;\n        cout &lt;&lt; i &lt;&lt; '\\n';\n        cont++;\n    } while (cont &lt; 999999);\n  \n    return 0;\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"yui_3_17_2_1_1648814988438_7805\">Para fins de compara\u00e7\u00e3o no tempo de execu\u00e7\u00e3o, preparei dois c\u00f3digos que podem ser acessados a seguir. Ambos fazem a mesma coisa, mas o primeiro n\u00e3o foi otimizado e leva em torno de 14 vezes mais tempo para executar com a quantidade de entradas colocadas para teste.<\/p>\n\n\n\n<ul class=\"wp-block-list\" id=\"yui_3_17_2_1_1648814988438_2154\"><li><a href=\"https:\/\/ideone.com\/g6l37f\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/ideone.com\/g6l37f<\/a> (vers\u00e3o n\u00e3o otimizada): executou em 0,01341 segundo<\/li><li><a href=\"https:\/\/ideone.com\/wy82qv\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/ideone.com\/wy82qv<\/a> (vers\u00e3o otimizada): executou em 0,000915 segundo<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"yui_3_17_2_1_1648814988438_2179\">E s\u00f3 para complementar, tamb\u00e9m fiz uma vers\u00e3o sem a otimiza\u00e7\u00e3o, mas utilizando <em>scanf <\/em>e <em>printf <\/em>em C++, e uma vers\u00e3o em linguagem C. Ambas s\u00e3o bem melhores do que a vers\u00e3o n\u00e3o otimizada do c\u00f3digo, mas &#8220;perdem&#8221; para a vers\u00e3o otimizada.<\/p>\n\n\n\n<ul class=\"wp-block-list\" id=\"yui_3_17_2_1_1648814988438_2154\"><li><a href=\"https:\/\/ideone.com\/xsvKCY\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/ideone.com\/xsvKCY<\/a>: executou em 0,001165 segundo<\/li><li><a href=\"https:\/\/ideone.com\/mE3LpS\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/ideone.com\/mE3LpS<\/a>: executou em 0,001127 segundo<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Inicialmente foi recomendo utilizar as instru\u00e7\u00f5es scanf e printf ao inv\u00e9s de cin e cout, mesmo para a linhagem C++. A quest\u00e3o do desempenho entre essa instru\u00e7\u00f5es equivalentes \u00e9 verdadeira, mas \u00e9 poss\u00edvel obter o mesmo desempenho com cin\/cout do que \u00e9 obtido com scanf\/printf. A primeira instru\u00e7\u00e3o \u00e9 um membro est\u00e1tico da fun\u00e7\u00e3o std::ios_base. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":460,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-465","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Inicialmente foi recomendo utilizar as instru\u00e7\u00f5es scanf e printf ao inv\u00e9s de cin e cout, mesmo para a linhagem C++. A quest\u00e3o do desempenho entre essa instru\u00e7\u00f5es equivalentes \u00e9 verdadeira, mas \u00e9 poss\u00edvel obter o mesmo desempenho com cin\/cout do que \u00e9 obtido com scanf\/printf. ios_base::sync_with_stdio(false);cin.tie(NULL); A primeira instru\u00e7\u00e3o \u00e9 um membro est\u00e1tico da fun\u00e7\u00e3o\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/melhorando-o-desempenho-da-entrada-e-saida-c\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_BR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Programa\u00e7\u00e3o Competitiva - Algoritmo resolvidos e explicados da OBI e Maratona de Programa\u00e7\u00e3o\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Melhorando o desempenho da entrada e sa\u00edda [C++] - Programa\u00e7\u00e3o Competitiva\" \/>\n\t\t<meta property=\"og:description\" content=\"Inicialmente foi recomendo utilizar as instru\u00e7\u00f5es scanf e printf ao inv\u00e9s de cin e cout, mesmo para a linhagem C++. A quest\u00e3o do desempenho entre essa instru\u00e7\u00f5es equivalentes \u00e9 verdadeira, mas \u00e9 poss\u00edvel obter o mesmo desempenho com cin\/cout do que \u00e9 obtido com scanf\/printf. ios_base::sync_with_stdio(false);cin.tie(NULL); A primeira instru\u00e7\u00e3o \u00e9 um membro est\u00e1tico da fun\u00e7\u00e3o\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/melhorando-o-desempenho-da-entrada-e-saida-c\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-04-01T12:29:05+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-04-01T12:37:10+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Melhorando o desempenho da entrada e sa\u00edda [C++] - Programa\u00e7\u00e3o Competitiva\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Inicialmente foi recomendo utilizar as instru\u00e7\u00f5es scanf e printf ao inv\u00e9s de cin e cout, mesmo para a linhagem C++. A quest\u00e3o do desempenho entre essa instru\u00e7\u00f5es equivalentes \u00e9 verdadeira, mas \u00e9 poss\u00edvel obter o mesmo desempenho com cin\/cout do que \u00e9 obtido com scanf\/printf. ios_base::sync_with_stdio(false);cin.tie(NULL); A primeira instru\u00e7\u00e3o \u00e9 um membro est\u00e1tico da fun\u00e7\u00e3o\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/otimizacoes-para-o-codigo\\\/melhorando-o-desempenho-da-entrada-e-saida-c\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/#listItem\",\"name\":\"Dicas\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/#listItem\",\"position\":2,\"name\":\"Dicas\",\"item\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/otimizacoes-para-o-codigo\\\/#listItem\",\"name\":\"Otimiza\\u00e7\\u00f5es para o c\\u00f3digo\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/otimizacoes-para-o-codigo\\\/#listItem\",\"position\":3,\"name\":\"Otimiza\\u00e7\\u00f5es para o c\\u00f3digo\",\"item\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/otimizacoes-para-o-codigo\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/otimizacoes-para-o-codigo\\\/melhorando-o-desempenho-da-entrada-e-saida-c\\\/#listItem\",\"name\":\"Melhorando o desempenho da entrada e sa\\u00edda [C++]\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/#listItem\",\"name\":\"Dicas\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/otimizacoes-para-o-codigo\\\/melhorando-o-desempenho-da-entrada-e-saida-c\\\/#listItem\",\"position\":4,\"name\":\"Melhorando o desempenho da entrada e sa\\u00edda [C++]\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/otimizacoes-para-o-codigo\\\/#listItem\",\"name\":\"Otimiza\\u00e7\\u00f5es para o c\\u00f3digo\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/#organization\",\"name\":\"Programa\\u00e7\\u00e3o Competitiva\",\"description\":\"Algoritmo resolvidos e explicados da OBI e Maratona de Programa\\u00e7\\u00e3o\",\"url\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/otimizacoes-para-o-codigo\\\/melhorando-o-desempenho-da-entrada-e-saida-c\\\/#webpage\",\"url\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/otimizacoes-para-o-codigo\\\/melhorando-o-desempenho-da-entrada-e-saida-c\\\/\",\"name\":\"Melhorando o desempenho da entrada e sa\\u00edda [C++] - Programa\\u00e7\\u00e3o Competitiva\",\"description\":\"Inicialmente foi recomendo utilizar as instru\\u00e7\\u00f5es scanf e printf ao inv\\u00e9s de cin e cout, mesmo para a linhagem C++. A quest\\u00e3o do desempenho entre essa instru\\u00e7\\u00f5es equivalentes \\u00e9 verdadeira, mas \\u00e9 poss\\u00edvel obter o mesmo desempenho com cin\\\/cout do que \\u00e9 obtido com scanf\\\/printf. ios_base::sync_with_stdio(false);cin.tie(NULL); A primeira instru\\u00e7\\u00e3o \\u00e9 um membro est\\u00e1tico da fun\\u00e7\\u00e3o\",\"inLanguage\":\"pt-BR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/dicas\\\/otimizacoes-para-o-codigo\\\/melhorando-o-desempenho-da-entrada-e-saida-c\\\/#breadcrumblist\"},\"datePublished\":\"2022-04-01T09:29:05-03:00\",\"dateModified\":\"2022-04-01T09:37:10-03:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/#website\",\"url\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/\",\"name\":\"Programa\\u00e7\\u00e3o Competitiva\",\"description\":\"Algoritmo resolvidos e explicados da OBI e Maratona de Programa\\u00e7\\u00e3o\",\"inLanguage\":\"pt-BR\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.galirows.com.br\\\/meublog\\\/competir\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Melhorando o desempenho da entrada e sa\u00edda [C++] - Programa\u00e7\u00e3o Competitiva","description":"Inicialmente foi recomendo utilizar as instru\u00e7\u00f5es scanf e printf ao inv\u00e9s de cin e cout, mesmo para a linhagem C++. A quest\u00e3o do desempenho entre essa instru\u00e7\u00f5es equivalentes \u00e9 verdadeira, mas \u00e9 poss\u00edvel obter o mesmo desempenho com cin\/cout do que \u00e9 obtido com scanf\/printf. ios_base::sync_with_stdio(false);cin.tie(NULL); A primeira instru\u00e7\u00e3o \u00e9 um membro est\u00e1tico da fun\u00e7\u00e3o","canonical_url":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/melhorando-o-desempenho-da-entrada-e-saida-c\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/melhorando-o-desempenho-da-entrada-e-saida-c\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.galirows.com.br\/meublog\/competir#listItem","position":1,"name":"Home","item":"https:\/\/www.galirows.com.br\/meublog\/competir","nextItem":{"@type":"ListItem","@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/#listItem","name":"Dicas"}},{"@type":"ListItem","@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/#listItem","position":2,"name":"Dicas","item":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/#listItem","name":"Otimiza\u00e7\u00f5es para o c\u00f3digo"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.galirows.com.br\/meublog\/competir#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/#listItem","position":3,"name":"Otimiza\u00e7\u00f5es para o c\u00f3digo","item":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/melhorando-o-desempenho-da-entrada-e-saida-c\/#listItem","name":"Melhorando o desempenho da entrada e sa\u00edda [C++]"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/#listItem","name":"Dicas"}},{"@type":"ListItem","@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/melhorando-o-desempenho-da-entrada-e-saida-c\/#listItem","position":4,"name":"Melhorando o desempenho da entrada e sa\u00edda [C++]","previousItem":{"@type":"ListItem","@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/#listItem","name":"Otimiza\u00e7\u00f5es para o c\u00f3digo"}}]},{"@type":"Organization","@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/#organization","name":"Programa\u00e7\u00e3o Competitiva","description":"Algoritmo resolvidos e explicados da OBI e Maratona de Programa\u00e7\u00e3o","url":"https:\/\/www.galirows.com.br\/meublog\/competir\/"},{"@type":"WebPage","@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/melhorando-o-desempenho-da-entrada-e-saida-c\/#webpage","url":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/melhorando-o-desempenho-da-entrada-e-saida-c\/","name":"Melhorando o desempenho da entrada e sa\u00edda [C++] - Programa\u00e7\u00e3o Competitiva","description":"Inicialmente foi recomendo utilizar as instru\u00e7\u00f5es scanf e printf ao inv\u00e9s de cin e cout, mesmo para a linhagem C++. A quest\u00e3o do desempenho entre essa instru\u00e7\u00f5es equivalentes \u00e9 verdadeira, mas \u00e9 poss\u00edvel obter o mesmo desempenho com cin\/cout do que \u00e9 obtido com scanf\/printf. ios_base::sync_with_stdio(false);cin.tie(NULL); A primeira instru\u00e7\u00e3o \u00e9 um membro est\u00e1tico da fun\u00e7\u00e3o","inLanguage":"pt-BR","isPartOf":{"@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/#website"},"breadcrumb":{"@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/melhorando-o-desempenho-da-entrada-e-saida-c\/#breadcrumblist"},"datePublished":"2022-04-01T09:29:05-03:00","dateModified":"2022-04-01T09:37:10-03:00"},{"@type":"WebSite","@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/#website","url":"https:\/\/www.galirows.com.br\/meublog\/competir\/","name":"Programa\u00e7\u00e3o Competitiva","description":"Algoritmo resolvidos e explicados da OBI e Maratona de Programa\u00e7\u00e3o","inLanguage":"pt-BR","publisher":{"@id":"https:\/\/www.galirows.com.br\/meublog\/competir\/#organization"}}]},"og:locale":"pt_BR","og:site_name":"Programa\u00e7\u00e3o Competitiva - Algoritmo resolvidos e explicados da OBI e Maratona de Programa\u00e7\u00e3o","og:type":"article","og:title":"Melhorando o desempenho da entrada e sa\u00edda [C++] - Programa\u00e7\u00e3o Competitiva","og:description":"Inicialmente foi recomendo utilizar as instru\u00e7\u00f5es scanf e printf ao inv\u00e9s de cin e cout, mesmo para a linhagem C++. A quest\u00e3o do desempenho entre essa instru\u00e7\u00f5es equivalentes \u00e9 verdadeira, mas \u00e9 poss\u00edvel obter o mesmo desempenho com cin\/cout do que \u00e9 obtido com scanf\/printf. ios_base::sync_with_stdio(false);cin.tie(NULL); A primeira instru\u00e7\u00e3o \u00e9 um membro est\u00e1tico da fun\u00e7\u00e3o","og:url":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/melhorando-o-desempenho-da-entrada-e-saida-c\/","article:published_time":"2022-04-01T12:29:05+00:00","article:modified_time":"2022-04-01T12:37:10+00:00","twitter:card":"summary_large_image","twitter:title":"Melhorando o desempenho da entrada e sa\u00edda [C++] - Programa\u00e7\u00e3o Competitiva","twitter:description":"Inicialmente foi recomendo utilizar as instru\u00e7\u00f5es scanf e printf ao inv\u00e9s de cin e cout, mesmo para a linhagem C++. A quest\u00e3o do desempenho entre essa instru\u00e7\u00f5es equivalentes \u00e9 verdadeira, mas \u00e9 poss\u00edvel obter o mesmo desempenho com cin\/cout do que \u00e9 obtido com scanf\/printf. ios_base::sync_with_stdio(false);cin.tie(NULL); A primeira instru\u00e7\u00e3o \u00e9 um membro est\u00e1tico da fun\u00e7\u00e3o"},"aioseo_meta_data":{"post_id":"465","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2025-11-11 02:16:07","updated":"2025-11-11 02:16:07","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.galirows.com.br\/meublog\/competir\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/\" title=\"Dicas\">Dicas<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/\" title=\"Otimiza\u00e7\u00f5es para o c\u00f3digo\">Otimiza\u00e7\u00f5es para o c\u00f3digo<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tMelhorando o desempenho da entrada e sa\u00edda [C++]\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.galirows.com.br\/meublog\/competir"},{"label":"Dicas","link":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/"},{"label":"Otimiza\u00e7\u00f5es para o c\u00f3digo","link":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/"},{"label":"Melhorando o desempenho da entrada e sa\u00edda [C++]","link":"https:\/\/www.galirows.com.br\/meublog\/competir\/dicas\/otimizacoes-para-o-codigo\/melhorando-o-desempenho-da-entrada-e-saida-c\/"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/pages\/465","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/comments?post=465"}],"version-history":[{"count":2,"href":"https:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/pages\/465\/revisions"}],"predecessor-version":[{"id":471,"href":"https:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/pages\/465\/revisions\/471"}],"up":[{"embeddable":true,"href":"https:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/pages\/460"}],"wp:attachment":[{"href":"https:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/media?parent=465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}