Skip to main content

Some interesting observations in C++

//I used Dev C++ Ver 5.11 (compiler) ... i told since some of this might run differently on other IDEs

Some interesting observations in C++
----------------------------------------
1. About pow() function
*pow() cant find 'fractional' powers, but can find decimal powers
for eg. pow(4,1/2) gives 1;
but, pow(4,0.5) gives 2;
     pow(4,0.55) gives 2.14;

*roots of negative numbers:
pow(-4,0.5) gives "nan"

2. Time Battle between cout and for loop (UnExpEcTEd)
In this program, see the time taken by them (individually) "on my computer" (on faster computers there may be more/less gap)

#include<iostream>
using namespace std;
int main()
{

//for(int i=1; i<100000;i++);  //0.215 sec
cout<<"hello";  //0.303 sec
}

3. Dont ask user to enter 0, if you are going to use an IF statement, because 0 is treated as false; instead ask for -1 instead of 0 (*you may even as for any other number)
For eg. cout<<"Enter 0 if you want to exit : "; cin>>choice;
if(choice==0) exit;
else goto proceed;

//in this piece of code, even if the user enters 0, the if will become false, and hence will not exit
//ALTERNATIVE (Not recommended) - you may go like this : "if(choice!=0) exit;" but if the user is asked to enter number choice from a menu, for eg. then the program will exit instead of proceeding :p

4. About the size of array...
   When you declare an array globally, you will have to give its size also
   When you declare an array in a function, you will have to give its size also
   When you declare an array in a CLASS or STRUCT, you are NOT REQUIRED TO GIVE ITS SIZE
   When you declare an array in a FUNCTION'S PROTOTYPE, you are NOT REQUIRED TO GIVE ITS SIZE

5. C++ is CASE SENSITIVE

6. C++ printed a 100MB file in 6s (with random characters from the heap storage) on a 7 year old laptop, with an intel core i5, and 4GB DDR3 RAM

7. More to be added...

Comments

Popular posts from this blog

Using 'ls' command as a replacement of 'find'

Advantage over find - Actually not probably in terms of speed, but... only point of this is that it's an observation, but... you can do like 'search only in' */*/*Programs* , /*/*Programs*/* , this may compensate the extra time took by using two commands 1. To search in current folder only (1 level... only this folder, no subfolder)     Type... ls | grep Search_Term 2. To search in current folder only (till level 2... this folder + subfolder)     Type... ls * | grep Search_Term #ls and ls * are NOT same! 3. To search in current folder only (till level 3... this folder + subfolder + subfolder)     Type... ls */* | grep Search_Term 4. To search in current folder only (till level 4... this folder + subfolder + subfolder + subfolder)     Type... ls */*/* | grep Search_Term ... and so on... FORMULA - To search till 'n' level (considering current folder as 1)... go till (n-1) stars If wanting to search whole disk... better type star...

LudO - The Game

/* Programmer - Aditya Gupta (Techy15) Language - C++ Program - LudO - The Game */ /* PLANS- Add functionality for name of player */ //IMP NOTE - See all notes, written in this form "//NOTE..." //NOTE- Mark 'R','G','B','Y' for gotis, ignore doubling for now //NOTE- Settings will have options: change default game play order(ie RBYG), change/give names to each colour //NOTE- Add code in case of attacks //NOTE- Add stops, and ways to show them distinct from others {may require graphics.h} #include<iostream> /* #include<fstream>    To be used in case save & resume to be used*/ #include<cstdio> #include<cstdlib> using namespace std; //Changes on 16th Oct //Show gotis as R1, R2... and ask user to enter string R1 or whatever // // Place within appropriate block ...     short diethrow(){     int fl=1; //holds 0 if decnum is 0     while(fl==0) { char *temp;     ...

C++ printed a 100MB text file in just 6 seconds inference (Due to file stream not initialized with any file on system)

This was actually acomplished by 'not' intialising the inout file stream with any real file. So, computer may have pointed to some random location, and hence it went on printing for so long! In 6 seconds, it printed a 91.4MB text file In 1 minute (60 seconds), it printed a 848MB text file! [though notepad hang when trying to open these files]