Efektīva C/C++ koda rakstīšana konkurētspējīgā programmēšanā
Vispirms jums jāzina par Veidne Makro un Vektori pirms pāriet uz nākamo posmu!
- Veidnes ir vispārīgas programmēšanas pamats, kas ietver koda rakstīšanu tādā veidā, kas nav atkarīgs no konkrēta veida.
- Makro ir koda fragments, kuram ir dots nosaukums. Ikreiz, kad tiek lietots nosaukums, tas tiek aizstāts ar makro saturu.
- Vektori ir tādi paši kā dinamiskie masīvi ar iespēju automātiski mainīt izmērus, kad elements tiek ievietots vai dzēsts, un konteiners tos apstrādā automātiski.
Tātad mēs varam izmantot šos jaudīgos rīkus, lai efektīvi ierakstītu kodu.
Daži no lieliskajiem trikiem, ko var izmantot konkurētspējīgā programmēšanā, ir šādi:
// C++ program to demonstrate range based for // loops for accessing vector and array elements #include #include using namespace std ; int main () { // Create a vector object that // contains 5 elements vector < int > vec = { 0 1 2 3 4 }; // Type inference by reference using auto. // Range based loops are preferred when no // modification is needed in value for ( const auto & value : vec ) cout < < value < < ' ' ; cout < < 'n' ; // Basic 5 element integer array int array [] = { 1 2 3 4 5 }; for ( const auto & value : array ) cout < < value < < ' ' ; return 0 ; }
Izvade:
0 1 2 3 4 1 2 3 4 5
#include template < typename T > void printList ( std :: initializer_list < T > text ) { for ( const auto & value : text ) std :: cout < < value < < ' ' ; } // Driver program int main () { // Initialization list printList ( { 'One' 'Two' 'Three' } ); return 0 ; }
Izvade:
One Two Three
#include // Call by reference is used in x template < typename T typename U > static inline void amin ( T & x U y ) { if ( y < x ) x = y ; } // call by reference is used in x template < typename T typename U > static inline void amax ( T & x U y ) { if ( x < y ) x = y ; } // Driver program to find the Maximum and Minimum value int main () { int max_val = 0 min_val = 1e5 ; int array [] = { 4 -5 6 -9 2 11 }; for ( auto const & val : array ) // Same as max_val = max (max_val val) // Same as min_val = min (min_valval) amax ( max_val val ) amin ( min_val val ); std :: cout < < 'Max value = ' < < max_val < < ' n ' < < 'Min value = ' < < min_val ; return 0 ; }
Izvade:
Max value = 11 Min value = -9
#include template < typename T > void scan ( T & x ) { x = 0 ; bool neg = 0 ; register T c = getchar (); if ( c == '-' ) neg = 1 c = getchar (); while (( c < 48 ) || ( c > 57 )) c = getchar (); for ( ; c < 48 || c > 57 ; c = getchar ()); for ( ; c > 47 && c < 58 ; c = getchar () ) x = ( x < < 3 ) + ( x < < 1 ) + ( c & 15 ); if ( neg ) x *= -1 ; } template < typename T > void print ( T n ) { bool neg = 0 ; if ( n < 0 ) n *= -1 neg = 1 ; char snum [ 65 ]; int i = 0 ; do { snum [ i ++ ] = n % 10 + '0' ; n /= 10 ; } while ( n ); -- i ; if ( neg ) putchar ( '-' ); while ( i >= 0 ) putchar ( snum [ i -- ]); putchar ( 'n' ); } // Driver Program int main () { int value ; // Taking input scan ( value ); // Printing output print ( value ); return 0 ; }
Input: 756 Output: 756
Lai uzzinātu vairāk par ātru ievadi un izvadi Izlasiet šo rakstu .
#include using namespace std ; #define rep(in) for (i = 0; i < n; ++i) #define REP(ikn) for (i = k; i <= n; ++i) #define REPR(ikn) for (i = k; i >= n; --i) // Driver program to test above Macros int main () { int i ; int array [] = { 4 5 6 9 22 11 }; int size = sizeof ( array ) / sizeof ( array [ 0 ]); // Default 0 index based loop rep ( i size ) cout < < array [ i ] < < ' ' ; cout < < ' n ' ; // Starting index based loop REP ( i 1 size -1 ) cout < < array [ i ] < < ' ' ; cout < < ' n ' ; // Reverse for loop REPR ( i size -1 0 ) cout < < array [ i ] < < ' ' ; return 0 ; }
Izvade
4 5 6 9 22 11 5 6 9 22 11 11 22 9 6 5 4
std::ios_base::sync_with_stdio(false);
Galu galā, izmantojot šos viedos trikus, jūs varat viegli uzrakstīt kodu minimālā laika un vārdu daudzumā.