Cad é an difríocht bhunúsach idir std :: cout agus fprintf i C ++? An bhfuil ceann amháin níos fearr nó níos gasta ná an ceann eile?


freagra 1:

Le std :: cout tugtar an argóint don oibreoir ró-ualaithe <<, agus le fprintf déantar an argóint a thiontú ina sreangán. Mar sin féin, fanann an loighic bhunúsach taobh thiar den dá rud mar an gcéanna.

tá cstdio níos gasta agus cumasaithe sioncrónaithe, ach beidh iostream níos tapa agus i gcásanna áirithe i bhfad níos gasta má dhíchumasaíonn tú sioncrónú idir an dá cheann. I gcód maith C ++, níor cheart ach iostream a úsáid. Dá bhrí sin, is féidir leat sioncrónú a dhíchumasú trí ghlaoch ar std :: ios :: sync_with_stdio (bréagach).

NÓTA

Murab ionann agus creideamh an phobail, is fearr i gcónaí cur i bhfeidhm C ++ a dhéanamh mar gheall ar bharrfheabhsúcháin tiomsaitheora má tá an fheidhmiúlacht chéanna ar fáil do leabharlanna C ++ agus do leabharlanna C.


freagra 2:

Sea, is fearr std :: cout. Is std :: ostream é, díreach cosúil le std :: stringstream, atá cosúil leis an leagan printf ar a dtugtar sprintf.

Tá roinnt fadhbanna le printf.

  1. Úsáideann sé sreang formáide ní amháin chun a léiriú conas ba chóir na hargóintí atá fágtha a phriontáil, ach freisin chun a thaispeáint cé na cineálacha nach ndéanann difear don chóras cineáil ionas nach mbeidh a fhios ag an tiomsaitheoir na cineálacha réada atá á phriontáil agat. Chun an fhadhb seo a shocrú, déanann tiomsaitheoirí C agus C ++ níos nuaí iarracht an tsreang seo a léirmhíniú ag am a thiomsú. Is cóireáil speisialta é seo don fheidhm seo. Níor cheart go mbeadh cóireáil speisialta de dhíth ar aon fheidhm. Úsáidtear Varargs, a ghlanann an cineál. Mar sin tá fadhb 1 riachtanach go leor mura bhfuil.

Maidir le std :: ostream, mar atá le std :: cout, sainmhínítear an t-oibreoir << do gach cineál is mian leat a phriontáil, agus is féidir leis an gcuid is mó acu glaoch ar an << oibreoir as a gcineálacha primitive chun an tasc seo a chur i gcrích. Tá a fhios ag gach feidhm << oibreora an cineál a aschuir sé agus tá sé go hiomlán cineál-sábháilte ag an am tiomsaithe. Dá bhrí sin, ní fadhb í an fhadhb runtime nach gcuirtear argóintí leordhóthanacha ar aghaidh chuig printf bunaithe ar an tsreang formáide ós rud é nach std :: ordú ostream. Ní theastaíonn sreang formáide.

Braitheann na difríochtaí luais go hiomlán ar an gcur i bhfeidhm, ach tugann std :: cout an fhéidearthacht a bheith níos gasta ná printf trí inlíne.


freagra 3:

Sea, is fearr std :: cout. Is std :: ostream é, díreach cosúil le std :: stringstream, atá cosúil leis an leagan printf ar a dtugtar sprintf.

Tá roinnt fadhbanna le printf.

  1. Úsáideann sé sreang formáide ní amháin chun a léiriú conas ba chóir na hargóintí atá fágtha a phriontáil, ach freisin chun a thaispeáint cé na cineálacha nach ndéanann difear don chóras cineáil ionas nach mbeidh a fhios ag an tiomsaitheoir na cineálacha réada atá á phriontáil agat. Chun an fhadhb seo a shocrú, déanann tiomsaitheoirí C agus C ++ níos nuaí iarracht an tsreang seo a léirmhíniú ag am a thiomsú. Is cóireáil speisialta é seo don fheidhm seo. Níor cheart go mbeadh cóireáil speisialta de dhíth ar aon fheidhm. Úsáidtear Varargs, a ghlanann an cineál. Mar sin tá fadhb 1 riachtanach go leor mura bhfuil.

Maidir le std :: ostream, mar atá le std :: cout, sainmhínítear an t-oibreoir << do gach cineál is mian leat a phriontáil, agus is féidir leis an gcuid is mó acu glaoch ar an << oibreoir as a gcineálacha primitive chun an tasc seo a chur i gcrích. Tá a fhios ag gach feidhm << oibreora an cineál a aschuir sé agus tá sé go hiomlán cineál-sábháilte ag an am tiomsaithe. Dá bhrí sin, ní fadhb í an fhadhb runtime nach gcuirtear argóintí leordhóthanacha ar aghaidh chuig printf bunaithe ar an tsreang formáide ós rud é nach std :: ordú ostream. Ní theastaíonn sreang formáide.

Braitheann na difríochtaí luais go hiomlán ar an gcur i bhfeidhm, ach tugann std :: cout an fhéidearthacht a bheith níos gasta ná printf trí inlíne.


freagra 4:

Sea, is fearr std :: cout. Is std :: ostream é, díreach cosúil le std :: stringstream, atá cosúil leis an leagan printf ar a dtugtar sprintf.

Tá roinnt fadhbanna le printf.

  1. Úsáideann sé sreang formáide ní amháin chun a léiriú conas ba chóir na hargóintí atá fágtha a phriontáil, ach freisin chun a thaispeáint cé na cineálacha nach ndéanann difear don chóras cineáil ionas nach mbeidh a fhios ag an tiomsaitheoir na cineálacha réada atá á phriontáil agat. Chun an fhadhb seo a shocrú, déanann tiomsaitheoirí C agus C ++ níos nuaí iarracht an tsreang seo a léirmhíniú ag am a thiomsú. Is cóireáil speisialta é seo don fheidhm seo. Níor cheart go mbeadh cóireáil speisialta de dhíth ar aon fheidhm. Úsáidtear Varargs, a ghlanann an cineál. Mar sin tá fadhb 1 riachtanach go leor mura bhfuil.

Maidir le std :: ostream, mar atá le std :: cout, sainmhínítear an t-oibreoir << do gach cineál is mian leat a phriontáil, agus is féidir leis an gcuid is mó acu glaoch ar an << oibreoir as a gcineálacha primitive chun an tasc seo a chur i gcrích. Tá a fhios ag gach feidhm << oibreora an cineál a aschuir sé agus tá sé go hiomlán cineál-sábháilte ag an am tiomsaithe. Dá bhrí sin, ní fadhb í an fhadhb runtime nach gcuirtear argóintí leordhóthanacha ar aghaidh chuig printf bunaithe ar an tsreang formáide ós rud é nach std :: ordú ostream. Ní theastaíonn sreang formáide.

Braitheann na difríochtaí luais go hiomlán ar an gcur i bhfeidhm, ach tugann std :: cout an fhéidearthacht a bheith níos gasta ná printf trí inlíne.


freagra 5:

Sea, is fearr std :: cout. Is std :: ostream é, díreach cosúil le std :: stringstream, atá cosúil leis an leagan printf ar a dtugtar sprintf.

Tá roinnt fadhbanna le printf.

  1. Úsáideann sé sreang formáide ní amháin chun a léiriú conas ba chóir na hargóintí atá fágtha a phriontáil, ach freisin chun a thaispeáint cé na cineálacha nach ndéanann difear don chóras cineáil ionas nach mbeidh a fhios ag an tiomsaitheoir na cineálacha réada atá á phriontáil agat. Chun an fhadhb seo a shocrú, déanann tiomsaitheoirí C agus C ++ níos nuaí iarracht an tsreang seo a léirmhíniú ag am a thiomsú. Is cóireáil speisialta é seo don fheidhm seo. Níor cheart go mbeadh cóireáil speisialta de dhíth ar aon fheidhm. Úsáidtear Varargs, a ghlanann an cineál. Mar sin tá fadhb 1 riachtanach go leor mura bhfuil.

Maidir le std :: ostream, mar atá le std :: cout, sainmhínítear an t-oibreoir << do gach cineál is mian leat a phriontáil, agus is féidir leis an gcuid is mó acu glaoch ar an << oibreoir as a gcineálacha primitive chun an tasc seo a chur i gcrích. Tá a fhios ag gach feidhm << oibreora an cineál a aschuir sé agus tá sé go hiomlán cineál-sábháilte ag an am tiomsaithe. Dá bhrí sin, ní fadhb í an fhadhb runtime nach gcuirtear argóintí leordhóthanacha ar aghaidh chuig printf bunaithe ar an tsreang formáide ós rud é nach std :: ordú ostream. Ní theastaíonn sreang formáide.

Braitheann na difríochtaí luais go hiomlán ar an gcur i bhfeidhm, ach tugann std :: cout an fhéidearthacht a bheith níos gasta ná printf trí inlíne.