Search Results

Search found 10087 results on 404 pages for 'dynamic arrays'.

Page 277/404 | < Previous Page | 273 274 275 276 277 278 279 280 281 282 283 284  | Next Page >

  • Problem using delete[] (Heap corruption) when implementing operator+= (C++)

    - by Darel
    I've been trying to figure this out for hours now, and I'm at my wit's end. I would surely appreciate it if someone could tell me when I'm doing wrong. I have written a simple class to emulate basic functionality of strings. The class's members include a character pointer data (which points to a dynamically created char array) and an integer strSize (which holds the length of the string, sans terminator.) Since I'm using new and delete, I've implemented the copy constructor and destructor. My problem occurs when I try to implement the operator+=. The LHS object builds the new string correctly - I can even print it using cout - but the problem comes when I try to deallocate the data pointer in the destructor: I get a "Heap Corruption Detected after normal block" at the memory address pointed to by the data array the destructor is trying to deallocate. Here's my complete class and test program: #include <iostream> using namespace std; // Class to emulate string class Str { public: // Default constructor Str(): data(0), strSize(0) { } // Constructor from string literal Str(const char* cp) { data = new char[strlen(cp) + 1]; char *p = data; const char* q = cp; while (*q) *p++ = *q++; *p = '\0'; strSize = strlen(cp); } Str& operator+=(const Str& rhs) { // create new dynamic memory to hold concatenated string char* str = new char[strSize + rhs.strSize + 1]; char* p = str; // new data char* i = data; // old data const char* q = rhs.data; // data to append // append old string to new string in new dynamic memory while (*p++ = *i++) ; p--; while (*p++ = *q++) ; *p = '\0'; // assign new values to data and strSize delete[] data; data = str; strSize += rhs.strSize; return *this; } // Copy constructor Str(const Str& s) { data = new char[s.strSize + 1]; char *p = data; char *q = s.data; while (*q) *p++ = *q++; *p = '\0'; strSize = s.strSize; } // destructor ~Str() { delete[] data; } const char& operator[](int i) const { return data[i]; } int size() const { return strSize; } private: char *data; int strSize; }; ostream& operator<<(ostream& os, const Str& s) { for (int i = 0; i != s.size(); ++i) os << s[i]; return os; } // Test constructor, copy constructor, and += operator int main() { Str s = "hello"; // destructor for s works ok Str x = s; // destructor for x works ok s += "world!"; // destructor for s gives error cout << s << endl; cout << x << endl; return 0; }

    Read the article

  • How can CopyOnWriteArrayList be thread-safe?

    - by Shooshpanchick
    I've taken a look into OpenJDK's sources of CopyOnWriteArrayList and it seems that all write operations are protected by the same lock and read operations are not protected at all. As I understand, under JMM all accesses to a variable (both read and write) should be protected by lock or reordering effects may occur. For example, set(int, E) method contains these lines (under lock): /* 1 */ int len = elements.length; /* 2 */ Object[] newElements = Arrays.copyOf(elements, len); /* 3 */ newElements[index] = element; /* 4 */ setArray(newElements); The get(int) method, on the other hand, only does return get(getArray(), index);. In my understanding of JMM, this means that get may observe the array in an inconsistent state if statements 1-4 are reordered like 1-2(new)-4-2(copyOf)-3. Do I understand JMM incorrectly or is there any other explanations on why CopyOnWriteArrayList is thread-safe?

    Read the article

  • Algorithm to find added/removed elements in an array

    - by jj
    Hi all, I am looking for the most efficent way of solving the following Problem: given an array Before = { 8, 7, 2, 1} and an array After ={1, 3, 8, 8} find the added and the removed elements the solution is: added = 3, 8 removed = 7, 2, 1 My idea so far is: for i = 0 .. B.Lenghtt-1 { for j= 0 .. A.Lenght-1 { if A[j] == B[i] A[j] = 0; B[i] = 0; break; } } // B elemnts different from 0 are the Removed elements // A elemnts different from 0 are the Added elemnts Does anyone know a better solution perhaps more efficent and that doesn't overwrite the original arrays

    Read the article

  • Elegant Method of Inserting Code Between Loops

    - by DeathMagus
    In web development, I often find I need to format and print various arrays of data, and separate these blocks of data in some manner. In other words, I need to be able to insert code between each loop, without said code being inserted before the first entry or after the last one. The most elegant way I've found to accomplish this is as follows: function echoWithBreaks($array){ for($i=0; $i<count($array); $i++){ //Echo an item if($i<count($array)-1){ //Echo "between code" } } } Unfortunately, there's no way that I can see to implement this solution with foreach instead of for. Does anyone know of a more elegant solution that will work with foreach?

    Read the article

  • reading a line, tokenizing and assigning to struct in C

    - by Dervin Thunk
    line is fgets'd, and running in a while loop with counter n, d is a struct with 2 char arrays, p and q. Basically, in a few words, I want to read a line, separate it into 2 strings, one up until the first space, and the rest of the line. I clean up afterwards (\n from the file becomes \'0'). The code works, but is there a more idiomatic way to do this? What errors am I running into "unknowingly"? int spc = strcspn(line," "); strncpy(d[n].p, line, spc); d[n].p[spc+1]='\0'; int l = strlen(line)-spc; strncpy(d[n].q, line+spc+1, l); char* nl = strchr(d[n].q, '\n'); if(nl){ *nl='\0'; } n++; Thanks.

    Read the article

  • How to call virtual function of an object in C++

    - by SoonDead
    I'm struggling with calling a virtual function in C++. I'm not experienced in C++, I mainly use C# and Java so I might have some delusions, but bear with me. I have to write a program where I have to avoid dynamic memory allocation if possible. I have made a class called List: template <class T> class List { public: T items[maxListLength]; int length; List() { length = 0; } T get(int i) const { if (i >= 0 && i < length) { return items[i]; } else { throw "Out of range!"; } }; // set the value of an already existing element void set(int i, T p) { if (i >= 0 && i < length) { items[i] = p; } else { throw "Out of range!"; } } // returns the index of the element int add(T p) { if (length >= maxListLength) { throw "Too many points!"; } items[length] = p; return length++; } // removes and returns the last element; T pop() { if (length > 0) { return items[--length]; } else { throw "There is no element to remove!"; } } }; It just makes an array of the given type, and manages the length of it. There is no need for dynamic memory allocation, I can just write: List<Object> objects; MyObject obj; objects.add(obj); MyObject inherits form Object. Object has a virtual function which is supposed to be overridden in MyObject: struct Object { virtual float method(const Input& input) { return 0.0f; } }; struct MyObject: public Object { virtual float method(const Input& input) { return 1.0f; } }; I get the elements as: objects.get(0).method(asdf); The problem is that even though the first element is a MyObject, the Object's method function is called. I'm guessing there is something wrong with storing the object in an array of Objects without dynamically allocating memory for the MyObject, but I'm not sure. Is there a way to call MyObject's method function? How? It's supposed to be a heterogeneous collection btw, so that's why the inheritance is there in the first place. If there is no way to call the MyObject's method function, then how should I make my list in the first place?

    Read the article

  • What protocols will/are ISPs use for IPv6 deployment?

    - by rbeede
    Currently ISPs deal out addresses via DHCP for IPv4 dynamic (single) addresses. What protocol will/are ISPs going to use for IPv6 when they can hand a customer an entire /64 (or /48 if they are nice) block? DHCPv6, RA? For ISPs that support true end-to-end IPv6 will they provide gateway devices (similar to cable modem or true DSL bridges for example) that receive border information for that specific customer? I'm just trying to get an idea of how your common residential service customer will have to configure things in an IPv6 Internet (whenever that comes). Will it be something customers are expected to statically configure on their home wireless router? Today with IPv4 I do it like this: Modem (bridge) passes public IPv4 obtained via DHCPv4 from ISP to second device (wireless router). It in turn has its own DHCPv4 service it provides on the internal lan.

    Read the article

  • Separate groups of objects based on their properties

    - by Bevin
    I want to separate an array of my custom object into several arrays, based on the values of their two properties. The struct looks like this: struct MyStruct { public string Person { get; set; } public string Command { get; set; } } Now, if I have an array with a few objects: {Person1, cmd1} {Person1, cmd3} {Person2, cmd3} {Person3, cmd2} {Person2, cmd4} I want to be able to place them into one array for each person, that lists all of the commands for that person: {Person1: cmd1, cmd3} {Person2: cmd3, cmd4} {Person3: cmd2} I hope I've made it clear with my descriptions. I would assume that there is an elegant way to do this with LINQ, but I have no idea where to start.

    Read the article

  • Sorting in Matlab

    - by smichak
    Hi, I would like to sort elements in a comma-separated list. The elements in the list are structs and I would like the list to be sorted according to one of the fields in the struct. For example, given the following code: L = {struct('obs', [1 2 3 4], 'n', 4), struct('obs', [6 7 5 3], 'n', 2)}; I would want to have a way to sort L by the field 'n'. Matlab's sort function only works on matrices or arrays and on lists of strings (not even lists of numbers). Any ideas on how that may be achieved? Thanks, Micha

    Read the article

  • Why I get UnsupportedOperationException when trying to remove from the List?

    - by Pentium10
    I have this code: public static String SelectRandomFromTemplate(String template,int count) { String[] split = template.split("|"); List<String> list=Arrays.asList(split); Random r = new Random(); while (list.size()>count) { list.remove(r.nextInt(list.size())); } return StringUtils.join(list, ", "); } I get this: 06-03 15:05:29.614: ERROR/AndroidRuntime(7737): java.lang.UnsupportedOperationException 06-03 15:05:29.614: ERROR/AndroidRuntime(7737): at java.util.AbstractList.remove(AbstractList.java:645) How would be this the correct way? Java.15

    Read the article

  • Convert String containing several numbers into integers

    - by GobiasKoffi
    I realize that this question may have been asked several times in the past, but I am going to continue regardless. I have a program that is going to get a string of numbers from keyboard input. The numbers will always be in the form "66 33 9" Essentially, every number is separated with a space, and the user input will always contain a different amount of numbers. I'm aware that using 'sscanf' would work if the amount of numbers in every user-entered string was constant, but this is not the case for me. Also, because I'm new to C++, I'd prefer dealing with 'string' variables rather than arrays of chars.

    Read the article

  • Turn on PC power remotely through the Internet?

    - by W.N.
    I use SVN for my work at home and office, but I usually forget to commit the changes before shutdown. Therefore, I wish I could turn on my home/office PC at office/home. I already have TeamViewer installed on both PCs, so it will be okay as soon as the power is turned on. I have read many articles about this, I found both my PC and office computers support Wake-on-LAN. However, I don't know much about other config. And I need to turn on my computers through the Internet, not on LAN. My office Internet connection has static IP, however, my home Internet connection has dynamic IP, it changes as soon as I reset the modem, but it is not a big problem, I rarely turn the Internet modem off. And I don't have privilege to config office Internet connection, but I have Administration privilege on both PCs. Please give me details steps to turn on my office PC from home, and turn on my home PC from office.

    Read the article

  • Apache+FastCGI Timeout Error: "has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds"

    - by Sadjad Fouladi
    I've recently installed mod_fastcgi and Apache 2.2. I have a simple cgi script as below (test.fcgi): #!/bin/sh echo sadjad But when I invoke 'mysite.com/test.fcgi' I see "Internal Server Error" after a short period of time. The error.log file shows this error message: [Tue Jan 31 22:23:57 2006] [warn] FastCGI: (dynamic) server "~/public_html/oaduluth/dispatch.fcgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds This is my .htaccess file: AddHandler fastcgi-script .fcgi RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ django.fcgi/$1 [QSA,L] What could the problem be? Is it my .htaccess file?

    Read the article

  • small string optimization for vector?

    - by BuschnicK
    I know several (all?) STL implementations implement a "small string" optimization where instead of storing the usual 3 pointers for begin, end and capacity a string will store the actual character data in the memory used for the pointers if sizeof(characters) <= sizeof(pointers). I am in a situation where I have lots of small vectors with an element size <= sizeof(pointer). I cannot use fixed size arrays, since the vectors need to be able to resize dynamically and may potentially grow quite large. However, the median (not mean) size of the vectors will only be 4-12 bytes. So a "small string" optimization adapted to vectors would be quite useful to me. Does such a thing exist? I'm thinking about rolling my own by simply brute force converting a vector to a string, i.e. providing a vector interface to a string. Good idea?

    Read the article

  • Why has to be size of dynamically-allocated array a static field?

    - by Ondrej Slinták
    I have a dummy class where I am testing arrays. I've noticed that when I want to dynamically allocate size of array at runtime, fields that indicate this size have to be static. I know I should probably use collections for this kind of code, but I'm more interested why do these fields have to be static? Is there any particular reason behind this? class Foo { private static int x; private static int y; private int[,] bar = new int[ x, y ]; public Foo( int a, int b ) { x = a; y = b; } }

    Read the article

  • Set generic iptables rules?

    - by tftd
    This may be a really dumb question but how can you open a port on multiple interfaces without defining the interfaces? For example how do I open port 22 on all interfaces? On my machine I have some interfaces that are dynamic and may or may not be available so I have to set "generic" rules. This code is not working for me but I can't figure out why: # My default policy is to drop the input. # The other policies are required like that. $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -t nat -P POSTROUTING ACCEPT $IPTABLES -t nat -P PREROUTING ACCEPT $IPTABLES -t mangle -P OUTPUT ACCEPT $IPTABLES -t mangle -P PREROUTING ACCEPT #Open port 22 on all interfaces ? $IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT So apparently there's something wrong with the last line... but I can't see it?

    Read the article

  • Fortran - String with unknown characters into substrings

    - by Masoud
    I am trying to put an input string into sub-string arrays. The number of data in the input file are less than 10 but unknown. The number of spaces between each data is also unclear. Example: Asd B Cwqe21 Ddsw Eww I am quite novice to Fortran, so I do not know which format I should use. My problem is that I do not know the number of data (here I assumed that there are 5), so how can I make the code work? I tried the following which did not work: CHARACTER (LEN=100), DIMENSION(10) :: string READ (1,*) (string,I=1,10) It seems that the error I got was because there was no 6th string to read and put into string(6). I tried using the "Index" to find the space, but since I do not know how many spaces are in the string, it did not help me.

    Read the article

  • OpenGL Mapping Textures to a Grid Stored Inside Vertex Array

    - by Matthew Hoggan
    I am writing a test to verify something. This is not production code, just verification code. So I would appreciate it if the specific question was answered. I have code that uses indices and vertices to draw a set of triangles in the shape of a grid. All the vertices are drawn using glDrawElements(). Now for each vertex I will set its corresponding Texture Coordinates to 0 or 1 for each set of triangles that form a square in the grid. Basically I want to draw a collage of random textures in each one of the "squares" (consisting of two triangles). I can do this using the glBegin() and glEnd() method calls inside a for loop using the fixed functional pipeline, but I would like to know how to do this using Vertex Arrays.

    Read the article

  • Javascript large number array compression

    - by gatapia
    Hi All, I've got a javascript application that sends a large amount of numerical data down the wire. This data is then stored in a database. I am having size issues (too much bandwidth, database getting too big). I am now ready to sacrifice some performance for compression. I was thinking of implementing a base 62 number.toString(62) and parseInt(compressed, 62). This would certainly reduce the size of the data but before I go ahead and do this I thought I would put it to the folks here as I know there must be some outside the box solution I have not considered. The basic specs are: - Compress large number arrays into strings for JSONP transfer (So I think UTF is out) - Be relatively fast, look I'm not expecting same performance as I have now but I also don't want gzip compression either. Any ideas would be greatly appreciated. Thanks Guido Tapia

    Read the article

  • PHP 5.1.6 ArrayAccess error when iterating over object

    - by kenny99
    Hi, I'm having to develop a site on PHP 5.1.6 and I've just come across a bug in my site which isn't happening on 5.2+. When using foreach() to iterate over an object, I get the following error: "Fatal error: Objects used as arrays in post/pre increment/decrement must return values by reference..." Does anyone know how to get around this issue? if (strpos($post['feeding_type'], 'comm')) { foreach ($post['commercial_brands'] as $brand) { $comm_food = new Commercial_food_Model; $comm_food->brand = $brand; $comm_food->feeding_type_id = $f_type->id; $comm_food->save(); } }

    Read the article

  • I have a 21TB array but only 16TB is visible from Windows

    - by Relentim
    CONTROLLER Raid Controller: 3Ware 9650SE-24M8 Disks: 21 x 1TB RAID5 Stripe 64KB WINDOWS OS: Windows Server 2003 SP2 32x Disk: Dynamic 19557.44GB Volume: Capacity 15832.19GB I guess my array must have a 4KB block size which is limiting it to 16TB. I think I would have to switch to a 64KB block size to be able to see a maximum of 256TB. Or create another unit on my controller to go above 16TB of storage. Unfortunately I have already added over 16TB, ideally I would like to shrink the array and reclaim the 5 disks that aren't doing anything. I don't think this is possible. More likely, can I change the block size so 20TB becomes visible in windows?

    Read the article

  • How setup federated SQL data to display limited information to a Web server in the DMZ?

    - by Pcav
    I have a SQL server behind a firewall. I need to push some limited SQL 2005 information to a Web Server in the DMZ so that I do not have to let database queries come all the way into the database server on our internal network. I want to push a small amount of dynamic data to a Web server in the DMZ and lock it down so that our hosted website does not need to come into the internal network for information; I want to put a server in the DMZ that will be the only connection allowed to the SQL database. This DMZ server will be the only server that can have any sort of connection to the back-end database so the hosting provider just pull the data from our server in the DMZ...

    Read the article

  • Dom Element onclick (MooTools :: optionally)

    - by Theofanis Pantelides
    Consider the following example: function async_callback(array1, array2, array3) { // All arrays are equal length for(var i = 0; i < array1.length; i++) { var myElement = new Element('div', { 'id': 'dvMy' + i, 'events': { 'click': function() { SomeFunction(array1[i], array2[i], array3[i] } }}); $(document).appendChild(myElement); } } Now when I click my element, I get a null value for all three arguments. I even tried doing: myElement.onclick = SomeFunction; // but this won't allow arguments I know I can create a string and use eval() and that does work, but I don't like eval(). Any ideas??? btw: This is a simple example to replicate the problem, and not actual code.

    Read the article

  • Incompatible format types

    - by nebffa
    I'm playing around with strncpy in C and am having some trouble. The code is as follows: #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char src[] = "Benjamin Franklin"; char dest[5]; strncpy(src, dest, sizeof(dest) / sizeof(char)); dest[5] = '\0'; printf("%s\n", dest); return 0; } which compiles with no errors using: gcc -Wall -g -Werror test.c -o test and prints out gibberish like p4?? I cannot really understand what I'm doing wrong especially since I have played around with it a lot and been looking online for answers. Perhaps since I am using arrays I am passing the address to printf without realising it?

    Read the article

  • efficiently compare two BitArrays of the same length

    - by BobTurbo
    How would I do this? I am trying to count when both arrays have the same value of TRUE/1 at the same index. As you can see, my code has multiple bitarrays and is looping through each one and comparing them with a comparisonArray with another loop. It doesn't seem to be very efficient and I need it to be. foreach (bitArrayTuple in bitarryList) { for (int i = 0; i < arrayLength; i++) if (bArrayTuple.Item2[i] && comparisonArray[i]) bitArrayTuple.Item1++; } where Item1 is the count and Item2 is a bitarray.

    Read the article

< Previous Page | 273 274 275 276 277 278 279 280 281 282 283 284  | Next Page >