Click here to Skip to main content
15,887,302 members

Nemanja Trifunovic - Professional Profile



Summary

LinkedIn      Blog RSS
21,629
Author
7,688
Authority
38,583
Debator
30
Editor
102
Enquirer
12,739
Organiser
9,705
Participant
Born in Kragujevac, Serbia. Now lives in Boston area with his wife and daughters.

Wrote his first program at the age of 13 on a Sinclair Spectrum, became a professional software developer after he graduated.

Very passionate about programming and software development in general.

Reputation

Weekly Data. Recent events may not appear immediately. For information on Reputation please see the FAQ.

Privileges

Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege. The member types column lists member types who gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilver
Bypass spam checks when posting contentsilversilversilversilversilversilvergoldSubEditor, Mentor, Protector, Editor
Store personal files in your account areaplatinumplatinumSubEditor, Editor
Have live hyperlinks in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Have the ability to include a biography in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Edit a Question in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Edit an Answer in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Delete a Question in Q&AYesSubEditor, Protector, Editor
Delete an Answer in Q&AYesSubEditor, Protector, Editor
Report an ArticlesilversilversilversilverSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubEditor, Mentor, Protector, Editor
Edit other members' articlesSubEditor, Protector, Editor
Create an article without requiring moderationplatinumSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending QuestionProtector
Approve/Disapprove a pending AnswerProtector
Report a forum messagesilversilverbronzeProtector, Editor
Approve/Disapprove a pending Forum MessageProtector
Have the ability to send direct emails to members in the forumsProtector
Create a new tagsilversilversilversilver
Modify a tagsilversilversilversilver

Actions with a green tick can be performed by this member.


 
GeneralC# 3.0 Pin
Nemanja Trifunovic15-Sep-05 9:31
Nemanja Trifunovic15-Sep-05 9:31 
GeneralRe: C# 3.0 Pin
MoustafaS29-Oct-05 5:10
MoustafaS29-Oct-05 5:10 
GeneralRe: C# 3.0 Pin
Nemanja Trifunovic29-Oct-05 7:57
Nemanja Trifunovic29-Oct-05 7:57 
GeneralA memory leak, or a memory drop Pin
Nemanja Trifunovic1-Sep-05 3:27
Nemanja Trifunovic1-Sep-05 3:27 
GeneralRe: A memory leak, or a memory drop Pin
el cuco19-Dec-06 23:20
el cuco19-Dec-06 23:20 
GeneralBoost 1.33 and new look Pin
Nemanja Trifunovic21-Aug-05 15:29
Nemanja Trifunovic21-Aug-05 15:29 
GeneralRefactoring to Patterns Pin
Nemanja Trifunovic14-Jul-05 15:29
Nemanja Trifunovic14-Jul-05 15:29 
GeneralPrivate virtual functions in C++/CLI Pin
Nemanja Trifunovic25-Jun-05 10:24
Nemanja Trifunovic25-Jun-05 10:24 
One of the things I generally liked about Managed C++ (as opposed to i.e. C#) is the support for private virtual functions[^]. Ie. the following code will compile and run fine with MC++:

__gc class Base { 
        virtual void SomeVirtualFunction() 
        {Console::WriteLine(S"Base");} 
public: 
        void SomeAccessibleFunction() 
        {SomeVirtualFunction();} 


}; 

__gc class Derived : public Base { 
        virtual void SomeVirtualFunction() 
        {Console::WriteLine(S"Derived"­);} 


}; 

int _tmain() 
{ 
    Base* handle = new Derived(); 
    handle->SomeAccessibleFunction­(); 
    return 0; 
} 


However, take a look at the equivalent C++/CLI (Beta 2) code:

ref class Base { 
        virtual void SomeVirtualFunction() 
        {Console::WriteLine(L"Base");} 
public: 
        void SomeAccessibleFunction() 
        {SomeVirtualFunction();} 
}; 
ref class Derived : public Base { 
        virtual void SomeVirtualFunction() override
        {Console::WriteLine(L"Derived"­);} 
}; 
int main() 
{ 
        Base^ handle = gcnew Derived(); 
        handle->SomeAccessibleFunction­(); 
        return 0; 
} 


(Note the override keyword in the derived class)

This program will compile, but with warnings like:
warning C4486: 'Base::SomeVirtualFunction' : 
a private virtual method of a ref class or value class should be marked 
'sealed' 


However, when the program is run, an exception is thrown:
An unhandled exception of type 'System.TypeLoadException' occurred in 
Virtual.exe 

Additional information: Method 'SomeVirtualFunction' on type 'Derived' 
from assembly 'Virtual, Version=1.0.1999.26811, Culture=neutral, 
PublicKeyToken=null' is overriding a method that is not visible from 
that assembly. 


When comparing the IL generated by the two versions of Managed C++, I found out that C++/CLI adds an attribute strict to the declaration of virtual functions, and that caused this exception at run time.

The explanation came from Microsoft program managers Ronald Laeremans and Brandon Bray: Allowing private virtual functions is a security breach in managed (but not in unmanaged!!!)code, and that's why all Microsoft complers now emit strict.

Take a look at the complete thread here[^]



My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.
GeneralDispose Pattern Pin
Nemanja Trifunovic2-Jun-05 8:44
Nemanja Trifunovic2-Jun-05 8:44 
GeneralRe: Dispose Pattern Pin
adrian cooper12-Jun-05 21:42
adrian cooper12-Jun-05 21:42 
GeneralRe: Dispose Pattern Pin
Nemanja Trifunovic15-Jun-05 5:50
Nemanja Trifunovic15-Jun-05 5:50 
General"Try simpifying the program" Pin
Nemanja Trifunovic23-May-05 6:26
Nemanja Trifunovic23-May-05 6:26 
GeneralException handling in a wizard-generated code Pin
Nemanja Trifunovic4-May-05 3:18
Nemanja Trifunovic4-May-05 3:18 
GeneralA first look into F# Pin
Nemanja Trifunovic27-Apr-05 9:37
Nemanja Trifunovic27-Apr-05 9:37 
GeneralRe: A first look into F# Pin
Nish Nishant20-Jun-05 2:19
sitebuilderNish Nishant20-Jun-05 2:19 
GeneralIncreasing the amount of available memory with LARGEADDRESSAWARE flag Pin
Nemanja Trifunovic12-Apr-05 4:33
Nemanja Trifunovic12-Apr-05 4:33 
GeneralFriend template functions Pin
Nemanja Trifunovic7-Feb-05 2:24
Nemanja Trifunovic7-Feb-05 2:24 
GeneralAn ideal programming language Pin
Nemanja Trifunovic23-Dec-04 6:45
Nemanja Trifunovic23-Dec-04 6:45 
GeneralRe: An ideal programming language Pin
bob1697230-Sep-05 23:10
bob1697230-Sep-05 23:10 
GeneralRe: An ideal programming language Pin
Nemanja Trifunovic3-Oct-05 3:05
Nemanja Trifunovic3-Oct-05 3:05 
JokeRe: An ideal programming language Pin
ShermansLagoon12-Feb-07 23:55
ShermansLagoon12-Feb-07 23:55 
GeneralRe: An ideal programming language Pin
Nemanja Trifunovic13-Feb-07 1:39
Nemanja Trifunovic13-Feb-07 1:39 
GeneralBoost 1.32.0 released Pin
Nemanja Trifunovic24-Nov-04 7:36
Nemanja Trifunovic24-Nov-04 7:36 
GeneralDllImport and "System.NullReferenceException: Object reference not set to an instance of an object." Pin
Nemanja Trifunovic16-Nov-04 7:28
Nemanja Trifunovic16-Nov-04 7:28 
GeneralRe: DllImport and "System.NullReferenceException: Object reference not set to an instance of an object." Pin
kinjosan28-Dec-04 11:06
kinjosan28-Dec-04 11:06 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.