Search Results

Search found 20383 results on 816 pages for 'hello'.

Page 736/816 | < Previous Page | 732 733 734 735 736 737 738 739 740 741 742 743  | Next Page >

  • Trying to get codeblocks working on Mac, running Lion. Can't get the compiler set up properly

    - by tjtoml
    First off, sorry if this is a stupid question. I installed code::blocks to try and get to know the program and start working on teaching myself c++. I have a MacBook Pro with OS 10.7.3. I ave code::blocks 10.05. When I try to build a "Hello world" nothing happens. Based on some googling I've figured out that it's because code::blocks doesn't know where to find the debugger/compiler. Further googling yielded me this page which tells me to install Xcode and to fix some things in the code::blocks settings. However, this wiki obviously has not been updated since Apple went to the App store, because the file paths it gives for the compiler do not exist (there is no /Developer/* even after installing Xcode). Xcode 4.3.2 was already installed when I installed code::blocks and code::blocks "auto-detected" several compilers. They did not work. If anyone knows where Xcode hides its compilers now that Apple has moved to the app store, I would be much obliged.

    Read the article

  • Context problem while loading Assemblies via Structuremap

    - by Zebi
    I want to load plugins in a smiliar way as shown here however the loaded assemblies seem not to share the same context. Trying to solve the problem I just build a tiny spike containing two assemblies. One console app and one library. The console app contains the IPlugin interface and has no references to the Plugin dll. I am scanning the plugin dir using a custom Registration convention: ObjectFactory.Initialize(x => x.Scan(s => { s.AssembliesFromPath(@"..\Plugin"); s.With(new PluginScanner()); })); public void Process(Type type, Registry registry) { if (!type.Name.StartsWith("P")) return; var instance = ObjectFactory.GetInstance(type); registry.For<IPlugin>().Add((IPlugin)instance); } Which thows an invalid cast exception saying he can not convert the plugin Type to IPlugin. public class P1 : IPlugin { public void Start() { Console.WriteLine("Hello from P1"); } } Further if I just construct the instance (which works fine by the way) and try to access ObjectFactory in the plugin ObjectFactory.WhatDoIHave() shows that they don't even share the same container instance. Experimenting around with MEF, Structuremap and loading the assembly manually whith Assembly.Load("Plugin") shows if loaded with Assembly.Load it works fine. Any ideas how I can fix this to work with StructureMaps assembly scanning?

    Read the article

  • Parent-child height problem

    - by Vector
    I have a parent div that has position: relative and his child has position: absolute. Such positions is a must. The problem is the parent does not stretch to the height of the child. The question is how to make it stretch to the height of the child? The mark-up is similar to this: <!DOCTYPE HTML> <html> <head> <style> .parent { position: relative; border: solid 1px red; } .child { position: absolute; border: solid 1px red; } </style> </head> <body> <div class="parent"> <div class="child">Hello World!</div> </div> </body> </html>

    Read the article

  • My program is spending most of its time in objc_msgSend. Does that mean that Objective-C has bad per

    - by Paperflyer
    Hello Stackoverflow. I have written an application that has a number of custom views and generally draws a lot of lines and bitmaps. Since performance is somewhat critical for the application, I spent a good amount of time optimizing draw performance. Now, activity monitor tells me that my application is usually using about 12% CPU and Instrument (the profiler) says that a whopping 10% CPU is spent in objc_msgSend (mostly in drawing related system calls). On the one hand, I am glad about this since it means that my drawing is about as fast as it gets and my optimizations where a huge success. On the other hand, it seems to imply that the only thing that is still using my CPU is the Objective-C overhead for messages (objc_msgSend). Hence, that if I had written the application in, say, Carbon, its performance would be drastically better. Now I am tempted to conclude that Objective-C is a language with bad performance, even though Cocoa seems to be awfully efficient since it can apparently draw faster than Objective-C can send messages. So, is Objective-C really a language with bad performance? What do you think about that?

    Read the article

  • flush XML tags having certain value

    - by azathoth
    Hello all I have a webservice that returns an XML like this: <?xml version="1.0" encoding="UTF-8"?> <contractInformation> <contract> <idContract type="int">87191827</idContract> <region type="varchar">null</region> <dueDate type="varchar">null</dueDate> <contactName type="varchar">John Smith</contactName> </contract> </contractInformation> I want to empty every tag that contains the string null, so it would look like this: <?xml version="1.0" encoding="UTF-8"?> <contractInformation> <contract> <idContract type="int">87191827</idContract> <region type="varchar"/> <dueDate type="varchar"/> <contactName type="varchar">John Smith</contactName> </contract> </contractInformation> How do I accomplish that by using XSLT?

    Read the article

  • Getting $n number of maximum values

    - by KPL
    Hello all, Straight to the question - If $n = 3, and input is - Array ( [04] => 3 [07] => 4 [01] => 5 [06] => 5 [05] => 5 [03] => 6 [08] => 6 [02] => 7 [09] => 8 [12] => 9 [10] => 10 [15] => 10 [19] => 11 [20] => 11 [13] => 12 [21] => 12 [16] => 13 [14] => 14 [22] => 14 [23] => 15 [11] => 15 [00] => 15 [17] => 17 [18] => 17 ) Output should be - Array ( [14] => 14 [22] => 14 [23] => 15 [11] => 15 [00] => 15 [17] => 17 [18] => 17 ) Thank you, all, for help.

    Read the article

  • iPhone dev: UIBarButtonItem or title not showing up in NavigationBar

    - by IceMan85
    Hello everyone, here my problem. I have a NavigationBar at the top, a TabBar at the bottom and a TableView at the center of the screen. Very normal situation. I set it all up in IB and I have set this in the app delegate : ExpensesListNavController *expensesListNavController; This in order to be able to add new views to the stack. I need to have 3 levels: - list of items in a TableView - OK - firstLevel: once pressed one cell a view is added to the stack - OK - second level: one pressed the "modify" button on the navBar on the firstLevel I want to show a new view that can be customized by the user. My Problem is coming when trying to add the "Modify" button in the "firstLevelView". Here-below my code -(IBAction) modify:(id)sender { if (editableDetailViewController == nil) { editableDetailViewController = [[editableDetailViewController alloc] init]; } editableDetailViewController.expense = expense; [appDelegate.expensesListNavController pushViewController:editableDetailViewController animated:YES]; editableDetailViewController = nil; } // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; appDelegate = [[UIApplication sharedApplication] delegate]; UIBarButtonItem *modifyButton = [[UIBarButtonItem alloc] initWithTitle:@"Modify" style:UIBarButtonItemStylePlain target:self action:@selector(modify:)]; appDelegate.expensesListNavController.navigationItem.rightBarButtonItem = modifyButton; appDelegate.expensesListNavController.navigationItem.title = @"Titoloooo"; NSLog(@"NavBar button has just been set !!"); [modifyButton release]; Nothing is being showed, neither title nor the button. Do you have any idea of what is happening ?? I really cannot figure out !!! Thanks a lot in advance, AM

    Read the article

  • Rails: Added new Action in Controller, but there is no path?

    - by Newbie
    Hello! I try to do following: A user is on his profile page. Now he edits his profile. He klicks on update and the data is saved. Now I want to redirect the user to another kind of profile-edit-page. I did the following in my users_controller.rb: def update @user = User.find(params[:id]) respond_to do |format| if @user.update_attributes(params[:user]) flash[:notice] = 'User was successfully updated.' if(@user.team_id != nil) format.html { redirect_to(@user) } else format.html { redirect_to choose_team_path } end format.xml { head :ok } else format.html { render :action => "edit" } format.xml { render :xml => @user.errors, :status => :unprocessable_entity } end end end def choose_team @user = User.find(params[:id]) end I created a view: /users/choose_team.html.erb Now I get the following error: undefined local variable or method `choose_team_path' for #<UsersController:0x1f56650> So I added choose_team to my routes.rb: map.choose_team 'choose-team', :controller => 'users', :action => 'choose_team' Now, after submitting my first edit form, it redirects me to http://localhost:3000/choose-team and I get following error: Couldn't find User without an ID What I want: If a user has no team_id, he should be redirected to my choose_team.html.erb for choosing a team, else he should be redirected to his profile/show. How to do this?

    Read the article

  • Assigning Object to View, big MySQL resultset.

    - by A Finn
    Hello (Sorry for my bad English) Is it bad practice to assign object to view and call its methods in there? I use smarty as my template engine. In my controller I could do like this 1# $this->view->assign("name", $this->model->getName); and in my view <p>{$name}</p> OR 2# $this->view->assign("Object", $this->model); and in my view <p>{$Report->getName()}</p> Well my biggest problem is that I have to handle a big amount of data coming out from the MySQL and I thought that if I would made a method that would print out the data while looping mysql_fetch_row. Well at least I know that using html-tags in the model is a bad thing to do. So I would assign the object to the view to get the result to the right position on the page.. Reading a mysql-result to an array first may cause memory problems am I right? So what is the solution doing things MVC style.. And yes Im using a framework of my own.

    Read the article

  • Youtube Javascript API play(); not working.. what am I doing wrong?

    - by odpogn
    Hello, I'm playing around with YouTubes Javascript API. I've set up a test page on my local enviornment, but the play function is not working. The video loads, and I can press play on the yt video screen, but my link "play" isn't working. Can someone tell me what I'm doing wrong?? I've been following this: http://code.google.com/apis/youtube/js_api_reference.html <html> <head> <script type="text/javascript" src="public/javascripts/swfobject.js"></script> </head> <body> <div id="ytapiplayer"> You will need Flash 8 or better to view this content. </div> <script type="text/javascript"> var params = { allowScriptAccess: "always" }; var atts = { id: "myytplayer" }; swfobject.embedSWF("http://www.youtube.com/v/OQSNhk5ICTI&enablejsapi=1&playerapiid=ytplayer", "ytapiplayer", "425", "365", "8", null, null, params, atts); function onYouTubePlayerReady(playerId) { ytplayer = document.getElementById("myytplayer"); } function play() { if (ytplayer) { ytplayer.playVideo(); } } </script> <a href="javascript:void(0);" onclick="play();">Play</a> </body> </html>

    Read the article

  • Why do you need "extern C" for C++ callbacks to C functions?

    - by Artyom
    Hello, I find such examples in Boost code. namespace boost { namespace { extern "C" void *thread_proxy(void *f) { .... } } // anonymous void thread::thread_start(...) { ... pthread_create(something,0,&thread_proxy,something_else); ... } } // boost Why do you actually need this extern "C"? It is clear that thread_proxy function is private internal and I do not expect that it would be mangled as "thread_proxy" because I actually do not need it mangled at all. In fact in all my code that I had written and that runs on may platforms I never used extern "C" and this had worked as-as with normal functions. Why extern "C" is added? My problem is that extern "C" function pollute global name-space and they do not actually hidden as author expects. This is not duplicate! I'm not talking about mangling and external linkage. It is obvious in this code that external linkage is unwanted! Answer: Calling convention of C and C++ functions are not necessary the same, so you need to create one with C calling convention. See 7.5 (p4) of C++ standard.

    Read the article

  • How to check if a position inside a std string exists ?? (c++)

    - by yox
    Hello, i have a long string variable and i want to search in it for specific words and limit text according to thoses words. Say i have the following text : "This amazing new wearable audio solution features a working speaker embedded into the front of the shirt and can play music or sound effects appropriate for any situation. It's just like starring in your own movie" and the words : "solution" , "movie". I want to substract from the big string (like google in results page): "...new wearable audio solution features a working speaker embedded..." and "...just like starring in your own movie" for that i'm using the code : for (std::vector<string>::iterator it = words.begin(); it != words.end(); ++it) { int loc1 = (int)desc.find( *it, 0 ); if( loc1 != string::npos ) { while(desc.at(loc1-i) && i<=80){ i++; from=loc1-i; if(i==80) fromdots=true; } i=0; while(desc.at(loc1+(int)(*it).size()+i) && i<=80){ i++; to=loc1+(int)(*it).size()+i; if(i==80) todots=true; } for(int i=from;i<=to;i++){ if(fromdots) mini+="..."; mini+=desc.at(i); if(todots) mini+="..."; } } but desc.at(loc1-i) causes OutOfRange exception... I don't know how to check if that position exists without causing an exception ! Help please!

    Read the article

  • Ping script with email in vbs

    - by matthias
    Hello, i know i ask the question about the ping script but now i have a new question about it :-) I hope someone can help me again. strText = "here comes the mail message" strFile = "test.log" PingForever strHost, strFile Sub PingForever(strHost, outputfile) Dim Output, Shell, strCommand, ReturnCode Set Output = CreateObject("Scripting.FileSystemObject").OpenTextFile(outputfile, 8, True) Set Shell = CreateObject("wscript.shell") strCommand = "ping -n 1 -w 300 " & strHost While(True) ReturnCode = Shell.Run(strCommand, 0, True) If ReturnCode = 0 Then Output.WriteLine Date() & " - " & Time & " | " & strHost & " - ONLINE" Else Output.WriteLine Date() & " - " & Time & " | " & strHost & " - OFFLINE" Set objEmail = CreateObject("CDO.Message") objEmail.From = "[email protected]" objEmail.To = "[email protected]" objEmail.Subject = "Computer" & strHost & " is offline" objEmail.Textbody = strText objEmail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objEmail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _ "smtpadress" objEmail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objEmail.Configuration.Fields.Update objEmail.Send End If Wscript.Sleep 2000 Wend End Sub My problem is now, the mail comes all 2 seconds, when the computer are offline. Can someone show me how to make it with flags? So only one mail comes when its offline? Thanks for your help.

    Read the article

  • C++ template member specialization - is this a compiler limitation?

    - by LoudNPossiblyRight
    Is it possible to do this kind of specialization? If so, how? The specialization in question is marked //THIS SPECIALIZATION WILL NOT COMPILE I have used VS2008, VS2010, gcc 4.4.3 and neither can compile this. #include<iostream> #include<string> using namespace std; template <typename ALPHA> class klass{ public: template <typename BETA> void func(BETA B); }; template <typename ALPHA> template <typename BETA> void klass<ALPHA>::func(BETA B){ cout << "I AM A BETA FUNC: " << B <<endl; } //THIS SPECIALIZATION WILL NOT COMPILE template <typename ALPHA> template <> void klass<ALPHA>::func(string B){ cout << "I AM A SPECIAL BETA FUNC: " << B <<endl; } int main(){ klass<string> k; k.func(1); k.func("hello"); return 0; }

    Read the article

  • Array's index and argc signedness

    - by tusbar
    Hello, The C standard (5.1.2.2.1 Program startup) says: The function called at program startup is named main. [...] It shall be de?ned with a return type of int and with no parameters: int main(void) { /* ... */ } or with two parameters [...] : int main(int argc, char *argv[]) { /* ... */ } And later says: The value of argc shall be nonnegative. Why shouldn't argc be defined as an unsigned int, argc supposedly meaning 'argument count'? Should argc be used as an index for argv? So I started wondering if the C standard says something about the type of array's index. Is it signed? 6.5.2.1 Array subscripting: One of the expressions shall have type ‘‘pointer to object type’’, the other expression shall have integer type, and the result has type ‘‘type’’. It doesn't say anything about its signedness (or I didn't find it). It is pretty common to see codes using negatives array indexes (array[-1]) but isn't it undefined behavior? Should array's indexes be unsigned?

    Read the article

  • Problems with starting an activity in onStart

    - by Fizz
    Hello everyone. I'm trying to start a floating activity from onStart to retrieve some info from the user right when the initial activity begins. I have the following: @Override public void onStart(){ super.onStart(); callProfileDialog(); } And callProfileDialog() is just: private void callProfileDialog(){ Intent i = new Intent(this, com.utility.ProfileDialog.class); startActivityForResult(i, PROFDIALOG); } ProfileDialog.class returns a String from an input box. If the result returned is RESULT_CANCELED then I restart the activity. The problem I'm having is that when the program starts, the screen is just black. If I hit the Back button a RESULT_CANCELED is returned then the initial activity shows as well as the floating activity (since it recalled itself when it got a RESULT_CANCELED). Why can't I get the activities show by calling ProfileDialog.class from onStart()? I got the same result when I called it at the end of onCreate() which is way I switch over to use onStart(). Thanks for the help.

    Read the article

  • Image creation performance / image caching

    - by Kilnr
    Hello, I'm writing an application that has a scrollable image (used to display a map). The map background consists of several tiles (premade from a big JPG file), that I draw on a Graphics object. I also use a cache (Hashtable), to prevent from having to create every image when I need it. I don't keep everything in memory, because that would be too much. The problem is that when I'm scrolling through the map, and I need an image that wasn't cached, it takes about 60-80 ms to create it. Depending on screen resolution, tile size and scroll direction, this can occur multiple times in one scroll operation (for different tiles). In my case, it often happens that this needs to be done 4 times, which introduces a delay of more than 300 ms, which is extremely noticeable. The easiest thing for me would be that there's some way to speed up the creation of Images, but I guess that's just wishful thinking... Besides that, I suppose the most obvious thing to do is to load the tiles predictively (e.g. when scrolling to the right, precache the tiles to the right), but then I'm faced with the rather difficult task of thinking up a halfway decent algorithm for this. My actual question then is: how can I best do this predictive loading? Maybe I could offload the creation of images to a separate thread? Other things to consider? Thanks in advance.

    Read the article

  • Refactoring Rails 3 Routes

    - by Martin
    Hello, I have this in my routes: get '/boutique/new' => 'stores#new', :as => :new_store, :constraints => { :id => /[a-z0-9_-]/ } post '/boutique' => 'stores#create', :as => :create_store, :constraints => { :id => /[a-z0-9_-]/ } get '/:shortname' => 'stores#show', :as => :store, :constraints => { :id => /[a-z0-9_-]/ } get '/:shortname/edit' => 'stores#edit', :as => :edit_store, :constraints => { :id => /[a-z0-9_-]/ } put '/:shortname' => 'stores#update', :as => :update_store, :constraints => { :id => /[a-z0-9_-]/ } delete '/:shortname' => 'stores#delete', :as => :destroy_store, :constraints => { :id => /[a-z0-9_-]/ } Is there a cleaner way to do the same? It doesn't look any elegant and even less if I add some more controls/actions to it. Thank you.

    Read the article

  • sIFR 3 randomly placing text on a single line in FF3.6

    - by bigsweater
    Hello, sIFR 3 is behaving strangely in Firefox. The actual sIFR flash element is set within a box that is 412px wide. In IE, Chrome, Safari, etc., the with of the Flash element is a consistent 412px; however, in Firefox, the Flash element is briefly as wide as the Body element, before correcting itself. When the page finishes loading, sometimes the Flash element remains that wide, breaking the layout (the Flash text flows underneath the sidebar to the right). Setting a width in the CSS for the .sIFR-flash element causes it to remain the proper 412px wide, but the text doesn't wrap at all--it just cuts off at the right edge, and the height of the flash element remains one line high. The markup is simple; it's just an h2 within a div. My sIFR code: var clerkenwell = { src: '/flash/sifr.swf' }; sIFR.activate(clerkenwell); sIFR.replace(clerkenwell, { selector: '.post h2', css: '.sIFR-root { color: #1899c4; text-transform:uppercase; font-size:30px; }', transparent: 'true', }); Setting forceWidth: 'true', just causes the same problem as using a CSS width on the .sIFR-flash element. So: how can I get the sIFR text to remain as wide as its containing element while allowing for line breaks in Firefox? Thanks for any and all help!

    Read the article

  • Python-based password tracker (or dictionary)

    - by Arrieta
    Hello: Where we work we need to remember about 10 long passwords which need to change every so often. I would like to create a utility which can potentially save these passwords in an encrypted file so that we can keep track of them. I can think of some sort of dictionary passwd = {'host1':'pass1', 'host2':'pass2'}, etc, but I don't know what to do about encryption (absolutely zero experience in the topic). So, my question is really two questions: Is there a Linux-based utility which lets you do that? If you were to program it in Python, how would you go about it? A perk of approach two, would be for the software to update the ssh public keys after the password has been changed (you know the pain of updating ~15 tokens once you change your password). As it can be expected, I have zero control over the actual network configuration and the management of scp keys. I can only hope to provide a simple utility to me an my very few coworkers so that, if we need to, we can retrieve a password on demand. Cheers.

    Read the article

  • How does this Bookmarklet allow you to stay signed into this site?

    - by Abs
    Hello all, I have come across Evernote's bookmarklet and was wondering how this worked. You can just drag it to your bookmark and go to any webpage, click that bookmarklet and it will first ask you to login in. All this I have done already and know how it works. The bit that I don't understand is that when you log in they authenticate you and allow you to submit stuff (in this case, a site url etc). When you are done the bookmarklet which placed a small overlay on the page you are viewing disappears. When you go to a new tab and use the bookmarklet again you are still logged in! How? I can see they are using an iFrame when their bookmarklet loads the overlay onto the page - but do they set cookies or something? If so, is this secure? Anyone can change the values? Or are they using some sort of private/public key system Btw, I would like to replicate this Bookmarklet using PHP/Javascript(JQuery maybe). I would appreciate if anyone can help me understand how they do this or point me to relevant tutorials. Thanks all for any help.

    Read the article

  • C# XMLWriter + prevent "/" "<" "<" chars

    - by flurreh
    Hello, I have a xmlWriter and want to write String which containt chars of "/" "<" "" (which are part of the xml syntax and break the xml code). Here is my c# code: public Boolean Initialize(String path) { Boolean result = true; XmlWriterSettings settings = new XmlWriterSettings(); settings.CheckCharacters = true; settings.Encoding = Encoding.UTF8; settings.Indent = true; xmlWriter = XmlWriter.Create(path, settings); xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement("TestData"); isInitialized = true; return result; } public void WriteProducts(List<Product> productList) { if (isInitialized == true) { foreach (Product product in productList) { xmlWriter.WriteStartElement("Product"); xmlWriter.WriteElementString("Id", product.ProdId); xmlWriter.WriteElementString("Name", product.ProdName); xmlWriter.WriteElementString("GroupId", product.ProdGroup); xmlWriter.WriteElementString("Price", product.ProdPrice.ToString((Consts.FORMATTED_PRICE))); xmlWriter.WriteEndElement(); } } } public void Close() { xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); } The application runs without any errors, but if I look in the xml file, the xml is incomplete because the xmlwriter stops writing the product nodes when a product name contains one of the above mentioned characters. Is there a way to fix this problem?

    Read the article

  • Using HTML::Template within a value attribute

    - by Zerobu
    Hello, my question is how would I use an HTML::Template tag inside a value of form to change that form. For example <table border="0" cellpadding="8" cellspacing="1"> <tr> <td align="right">File:</td> <td> <input type="file" name="upload" value= style="width:400px"> </td> </tr> <tr> <td align="right">File Name:</td> <td> <input type="text" name="filename" style="width:400px" value="" > </td> </tr> <tr> <td align="right">Title:</td> <td> <input type="text" name="title" style="width:400px" value="" /> </td> </tr> <tr> <td align="right">Date:</td> <td> <input type="text" name="date" style="width:400px" value="" /> </td> </tr> <tr> <td colspan="2" align="right"> <input type="button" value="Cancel"> <input type="submit" name="action" value="Upload" /> </td> </tr> </table> I want the value to have a variable in it.

    Read the article

  • How can I use a value of JSP in Javascript code?

    - by novellino
    Hello, I have a list of elements, each of them appeared in my page through jsp. So I have this: <div id="title"><%= list.get(ind).getTitle() %></div> When I display the elements, as this tag is in for loop, I get everything right. Now I what to place a button for deleting each of this elements. What I have done is: <input type="submit" name="submit" onclick="deleteNewsFunction();" id="submit_btn"/> In the deleteNewsFunction() I just want to print the data. <script> function deleteNewsFunction(){ var item = $('#title').val(); alert(item); } </script> The problem is that the title var gets always the first item even if I am clicking on the button of the second item. I was thinking that maybe a solution is to add the "list.get(ind).getTitle()" as a parameter in the function like deleteNewsFunction(<%=list.get(ind).getTitle()%) but then it did not work at all. Does anyone know how to help me? Thanks a lot!

    Read the article

  • How string accepting interface should look like?

    - by ybungalobill
    Hello, This is a follow up of this question. Suppose I write a C++ interface that accepts or returns a const string. I can use a const char* zero-terminated string: void f(const char* str); // (1) The other way would be to use an std::string: void f(const string& str); // (2) It's also possible to write an overload and accept both: void f(const char* str); // (3) void f(const string& str); Or even a template in conjunction with boost string algorithms: template<class Range> void f(const Range& str); // (4) My thoughts are: (1) is not C++ish and may be less efficient when subsequent operations may need to know the string length. (2) is bad because now f("long very long C string"); invokes a construction of std::string which involves a heap allocation. If f uses that string just to pass it to some low-level interface that expects a C-string (like fopen) then it is just a waste of resources. (3) causes code duplication. Although one f can call the other depending on what is the most efficient implementation. However we can't overload based on return type, like in case of std::exception::what() that returns a const char*. (4) doesn't work with separate compilation and may cause even larger code bloat. Choosing between (1) and (2) based on what's needed by the implementation is, well, leaking an implementation detail to the interface. The question is: what is the preffered way? Is there any single guideline I can follow? What's your experience?

    Read the article

< Previous Page | 732 733 734 735 736 737 738 739 740 741 742 743  | Next Page >