Search Results

Search found 21759 results on 871 pages for 'int'.

Page 195/871 | < Previous Page | 191 192 193 194 195 196 197 198 199 200 201 202  | Next Page >

  • Correct way to take absolute value of INT_MIN

    - by aka.nice
    I want to perform some arithmetic in unsigned, and need to take absolute value of negative int, something like do_some_arithmetic_in_unsigned_mode(int some_signed_value) { unsigned int magnitude; int negative; if(some_signed_value<0) { magnitude = 0 - some_signed_value; negative = 1; } else { magnitude = some_signed_value; negative = 0; } ...snip... } But INT_MIN might be problematic, 0 - INT_MIN is UB if performed in signed arithmetic. What is a standard/robust/safe/efficient way to do this in C?

    Read the article

  • Performance implications of using a variable versus a magic number

    - by Nathan
    I'm often confused by this. I've always been taught to name numbers I use often using variables or constants, but if it reduces the efficiency of the program, should I still do it? Heres an example: private int CenterText(Font font, PrintPageEventArgs e, string text) { int recieptCenter = 125; int stringLength = Convert.ToInt32(e.Graphics.MeasureString(text, font)); return recieptCenter - stringLength / 2; } The above code is using named variables, but runs slower then this code: private int CenterText(Font font, PrintPageEventArgs e, string text) { return 125 - Convert.ToInt32(e.Graphics.MeasureString(text, font) / 2); } In this example, the difference in execution time is minimal, but what about in larger blocks of code?

    Read the article

  • ANSI C++: Diferences between delete and delete[]

    - by Sunscreen
    I was looking a snipset of code: int* ip; ip = new int[100]; delete ip; The example above states that: "This code will work with many compilers, but it should instead read:" int* ip; ip = new int[100]; delete [] ip; Is this indeed the case? I use the compiler "Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86" and does not complain (first example) while compiling. At runtime the pointer is set to NULL. Other compilers behave diferrently? Can a compiler not compain and issues can appear at runtime? Thanks, Sun

    Read the article

  • What is causing this template-related compile error? (c++)

    - by Setien
    When I try to compile this: #include <map> #include <string> template <class T> class ZUniquePool { typedef std::map< int, T* > ZObjectMap; ZObjectMap m_objects; public: T * Get( int id ) { ZObjectMap::const_iterator it = m_objects.find( id ); if( it == m_objects.end() ) { T * p = new T; m_objects[ id ] = p; return p; } return m_objects[ id ]; } }; int main( int argc, char * args ) { ZUniquePool< std::string > pool; return 0; } I get this: main.cpp: In member function ‘T* ZUniquePool<T>::Get(int)’: main.cpp:12: error: expected `;' before ‘it’ main.cpp:13: error: ‘it’ was not declared in this scope I'm using GCC 4.2.1 on Mac OS X. It works in VS2008. I'm wondering whether it might be a variation of this problem: http://stackoverflow.com/questions/1364837/why-doesnt-this-c-template-code-compile But as my error output is only partially similar, and my code works in VS2008, I am not sure. Can anyone shed some light on what I am doing wrong?

    Read the article

  • Using template specialization in C++

    - by user550413
    How can I write a function using template specialization that has 2 different input types and an output type: template <class input1, class input2, class output> and return the sum of the 2 numbers (integers/doubles). However, if I get 2 integers I want to return an integer type but for any other combinations of integer and double I'll always return double. I am trying to do that without using directly the '+' operator but having the next functions instead: double add_double_double(double a, double b) {return (a+b);} double add_int_double(int a, double b) {return ((double)(a)+b);} int add_int_int(int a, int b) {return (a+b);}

    Read the article

  • C# newbie problem with variable types

    - by ile
    int newWidth = 100; int newHeight = 100; double ratio = 0; if (img1.Width > img1.Height) { ratio = img1.Width / img1.Height; newHeight = (int)(newHeight / ratio); } else { ratio = img1.Height / img1.Width; newWidth = (int)(newWidth / ratio); } Image bmp1 = img1.GetThumbnailImage(newWidth, newHeight, null, IntPtr.Zero); bmp1.Save(Server.MapPath("~/Uploads/Photos/Thumbnails/") + photo.PhotoID + ".jpg"); I always get Image with both height and width having same values (100) I am obiously doing something wrong with type conversion?

    Read the article

  • Why does C++ behave this way?

    - by eSKay
    #include<stdio.h> int b = 0; class A { public: int a;}; class B: public A { int c; int d; public: B(){ b++; a = b; printf("B:%d\n",b); } }; int main() { A* a = new B[10]; B* b = new B[10]; printf("\n%d", a->a); a++; printf("\n%d", a->a); // prints junk value printf("\n\n%d", b->a); b++; printf("\n%d", b->a); return 0; } The second printf prints a junk value. It should figure that it is pointing to an object of type B and increment by the sizof(B). Why does that not happen?

    Read the article

  • Is it possible to implement events in C++?

    - by acidzombie24
    I wanted to implement a C# event in C++ just to see if i could do it. I got stuck, i know the bottom is wrong but what i realize my biggest problem is... How do i overload the () operator to be whatever is in T in this case int func(float)? I cant? can i? Can i implement a good alternative? #include <deque> using namespace std; typedef int(*MyFunc)(float); template<class T> class MyEvent { deque<T> ls; public: MyEvent& operator +=(T t) { ls.push_back(t); return *this; } }; static int test(float f){return (int)f; } int main(){ MyEvent<MyFunc> e; e += test; }

    Read the article

  • Operator+ for a subtype of a template classe.

    - by baol
    I have a template class that defines a subtype. I'm trying to define the binary operator+ as a template function, but the compiler cannot resolve the template version of the operator+. #include <iostream> template<typename other_type> struct c { c(other_type v) : cs(v) {} struct subtype { subtype(other_type v) : val(v) {} other_type val; } cs; }; template<typename other_type> typename c<other_type>::subtype operator+(const typename c<other_type>::subtype& left, const typename c<other_type>::subtype& right) { return typename c<other_type>::subtype(left.val + right.val); } // This one works // c<a>::subtype operator+(const c<a>::subtype& left, // const c<a>::subtype& right) // { return c<a>::subtype(left.val + right.val); } int main() { c<int> c1 = 1; c<int> c2 = 2; c<int>::subtype cs3 = c1.cs + c2.cs; std::cerr << cs3.val << std::endl; } I think the reason is because the compiler (g++4.3) cannot guess the template type so it's searching for operator+<int> instead of operator+. What's the reason for that? What elegant solution can you suggest?

    Read the article

  • Base class Undefined WEIRD problem . Need help

    - by nXqd
    My CGameStateLogo which inherit from CGameState: CGameStateLogo.h #pragma once #include "GameState.h" class CGameMain; class CGameState; class CGameStateLogo: public CGameState { public: void MessageEnter (); void MessageUpdate( int iKey ); void MessagePaint( HDC* pDC ); public: CGameStateLogo(CGameMain* pGameMain); CGameStateLogo(void); ~CGameStateLogo(void); }; CGameState.h #pragma once #include "GameMain.h" #include "MyBitmap.h" class CGameMain; class CMyBitmap; class CGameState { public: CMyBitmap* pbmCurrent; CGameMain* pGM; int GameStateID; virtual void MessageEnter () = 0; virtual void MessageUpdate( int iKey ) = 0; virtual void MessagePaint( HDC* pDC ) = 0; void StateHandler ( int msg, HDC* pDC, int key ); public: CGameState(void); ~CGameState(void); }; Thanks for reading this :)

    Read the article

  • How do I check that an entity is unreferenced in JPA?

    - by Martin
    I have the following model @Entity class Element { @Id int id; @Version int version; @ManyToOne Type type; } @Entity class Type { @Id int id; @Version int version; @OneToMany(mappedBy="type") Collection<Element> elements; @Basic(optional=false) boolean disabled; } and would like to allow Type.disabled = true only if Type.elements is empty. Is there a way to do it atomically? I would like to prevent an insertion of an Element in a transaction while the corresponding Type is being disabled by an other transaction.

    Read the article

  • Running for loop depending on size of string vector

    - by xbonez
    I have made a string vector vector actor_; and then added elements in it using push_back. I now want to display all of them, for which I need to run a loop according to the number of elements in the vector. For that, I need to run the following loop: for (int i = 0; i < (int)actor_.size; i++) { } but this returns the following error: error C2440: 'type cast' : cannot convert from 'unsigned int (__thiscall std::vector<_Ty::* )(void) const' to 'int' 1 with 1 [ 1 _Ty=std::string 1 ] 1 There is no context in which this conversion is possible

    Read the article

  • Confusion regarding a function definition in C

    - by user34790
    I found this function definition void *func(void *param) { } Actually, I have a certain confusion regarding this function definition. What does void * mean in the return type of the function as well as the argument. I am a beginner in C. So please don't mind. Thank you void *func(void *param) { int s = (int)param; .... } Well looking at the above program which I found. I think it should have been int *s = (int *)param; isn't it? I am confused

    Read the article

  • C++ How fast is passing around objects?

    - by wndsr
    Assuming we are running a compiled C++ binary: Is passing around an int (e.g. function to function, or writing it into variables) slower than passing around structs/class objects like the following? class myClass { int a; int b; char c; vector d; string e; }

    Read the article

  • why nResult != nConvertedLen,when use CComBSTR;

    - by hxboxy
    CComBSTR wsData = (char*)pvData; when constuct CComBSTR,call A2WBSTR,but sometimes nResult != nConvertedLen,just 1/20. why? inline BSTR A2WBSTR(_In_opt_ LPCSTR lp, int nLen = -1) { if (lp == NULL || nLen == 0) return NULL; USES_CONVERSION_EX; BSTR str = NULL; #pragma warning(push) #pragma warning(disable: 6385) int nConvertedLen = MultiByteToWideChar(_acp_ex, 0, lp, nLen, NULL, NULL); #pragma warning(pop) int nAllocLen = nConvertedLen; if (nLen == -1) nAllocLen -= 1; // Don't allocate terminating '\0' str = ::SysAllocStringLen(NULL, nAllocLen); if (str != NULL) { int nResult; nResult = MultiByteToWideChar(_acp_ex, 0, lp, nLen, str, nConvertedLen); ATLASSERT(nResult == nConvertedLen); if(nResult != nConvertedLen) { SysFreeString(str); return NULL; } } return str; }

    Read the article

  • Segmentation fault C++ in recursive function

    - by user69514
    Why do I get a segmentation fault in my recursive function. It happens every time i call it when a value greater than 4 as a parameter #include <iostream> #include <limits> using namespace std; int printSeries(int n){ if(n==1){ return 1; } else if( n==2){ return 2; } else if( n==3){ return 3; } else if( n==4){ return printSeries(1) + printSeries(2) + printSeries(3); } else{ return printSeries(n-3) + printSeries((n-2) + printSeries(n-1)); } } int main(){ //double infinity = numeric_limits<double>::max(); for(int i=1; i<=10; i++){ cout << printSeries(i) << endl; } return 0; }

    Read the article

  • How to find the largest power of 2 less than the given number

    - by nazar_art
    I need to find the largest power of 2 less than the given number. And I stuck and can't find any solution. Code: public class MathPow { public int largestPowerOf2 (int n) { int res = 2; while (res < n) { res =(int)Math.pow(res, 2); } return res; } } This doesn't work correctly. Testing output: Arguments Actual Expected ------------------------- 9 16 8 100 256 64 1000 65536 512 64 256 32 How to solve this issue?

    Read the article

  • Converting a string into a double

    - by Koning Baard
    I am trying to convert a string (const char* argv[]) to a double precision floating point number: int main(const int argc, const char *argv[]) { int i; double numbers[argc - 1]; for(i = 1; i < argc; i += 1) { /* -- Convert each argv into a double and put it in `number` */ } /* ... */ return 0; } Can anyone help me? Thanks

    Read the article

  • What does this C++ construct do?

    - by cambr
    Somewhere in lines of code, I came across this construct... //void* v = void* value from an iterator int i = (int)(long(v)) What possible purpose can this contruct serve? Why not simply use int(v) instead? Why the cast to long first?

    Read the article

  • OnSize() Problem in VC++

    - by Anu
    Hi, In my VC++ MFC applcaiton,i have different views.And in each view,when i maximize it,i changed the size and position to new thing(Normally it fully get maximixed to screen size).But i dont want tht.So in OnSize() i coded like this. void CChildFrame::OnSize(UINT nType, int cx, int cy) { CMDIChildWnd::OnSize(nType, cx, cy); int XBorder = GetSystemMetrics(SM_CXMAXIMIZED); int YBorder = GetSystemMetrics(SM_CYMAXIMIZED); switch (nType) { case SIZE_MAXIMIZED: SetWindowPos(NULL,0,60,XBorder-45,YBorder-60,SWP_NOZORDER ); break; } } But what happened is?When i maximize the view,its get maximized to above mention size only.But in that blue bar,there si no minimize,maximize,close button. When i double click in the blue bar,its get to resumed to previous postion with all buttons. How can i get that?

    Read the article

  • Processing a resultset to look up foriegn keys (and poulate a new table!)

    - by Gilly
    Hi, I've been handed a dataset that has some fairly basic table structures with no keys at all. eg {myRubishTable} - Area(varchar),AuthorityName(varchar),StartYear(varchar),StartMonth(varcha),EndYear(varchar),EndMonth(varchar),Amount(Money) there are other tables that use the Area and AuthorityName columns as well as a general use of Month and Years so I I figured a good first step was to pull Area and Authority into their own tables. I now want to process the data in the original table and lookup the key value to put into my new table with foreign keys which looks like this. (lookup Tables) {Area} - id (int, PK), name (varchar(50)) {AuthorityName} - id(int, PK), name(varchar(50) (TargetTable) {myBetterTable} - id (int,PK), area_id(int FK-Area),authority_name_id(int FK-AuthorityName),StartYear (varchar),StartMonth(varchar),EndYear(varchar),EndMonth(varchar),Amount(money) so row one in the old table read MYAREA, MYAUTHORITY,2009,Jan,2010,Feb,10000 and I want to populate the new table with 1,1,1,2009,Jan,2010,Feb,10000 where the first '1' is the primary key and the second two '1's are the ids in the lookup tables. Can anyone point me to the most efficient way of achieving this using just SQL? Thanks in advance Footnote:- I've achieved what I needed with some pretty simple WHERE clauses (I had left a rogue tablename in the FROM which was throwing me :o( ) but would be interested to know if this is the most efficient. ie SELECT [area].[area_id], [authority].[authority_name_id], [myRubishTable].[StartYear], [myRubishTable].[StartMonth], [myRubishTable].[EndYear], [myRubishTable].[EndMonth], [myRubishTable].[Amount] FROM [myRubishTable],[Area],[AuthorityName] WHERE [myRubishTable].[Area]=[Area].[name] AND [myRubishTable].[Authority Name]=[dim_AuthorityName].[name] TIA

    Read the article

  • Please explain how Trial Division works for Primality Test

    - by mister_dani
    I came across this algorithm for testing primality through trial division I fully understand this algorithm static boolean isPrime(int N) { if (N < 2) return false; for (int i = 2; i <= Math.sqrt(N); i++) if (N % i == 0) return false; return true; } It works just fine. But then I came across this other one which works just as good but I do not fully understand the logic behind it. static boolean isPrime(int N) { if (N < 2) return false; for (int i = 2; i * i<N; i++) if (N % i == 0) return false; return true; } It seems like i *i < N behaves like i <= Math.sqrt(N). If so, why?

    Read the article

  • C++ vector reference parameter

    - by Archanimus
    Hello folks, let's say we have a class class MyClass { vector<vector<int > > myMatrice; public : MyClass(vector<vector<int > > &); } MyClass::MyClass(vector<vector<int > > & m) { myMatrice = m; } During the instanciation of MyClass, I pass a big vector < vector < int and I find that the object is actually copied and not only the reference, so it takes the double of the memory ... Please, can anyone help me out with this problem, I'm stuck since too many time ... And thanks a lot!

    Read the article

  • C++ pointer, Beginner Question...

    - by BobAlmond
    Hi there, just want to ask a beginner question... here, I made some code, for understanding the concept/basic of pointer: int a=1; int *b=&a; int **c = &b; int ***d = &c; cout << &*(&*d) << endl; can someone explain to me, why the &*(&d) return address of "c" instead of address of "b"? I've also tried code like &(&(&(&*(&*d)))), but it keep return address of "c" Thanks a lot :)

    Read the article

< Previous Page | 191 192 193 194 195 196 197 198 199 200 201 202  | Next Page >