c++
文章平均质量分 65
le119126
这个作者很懒,什么都没留下…
展开
-
刚开始用Eclipse编写c++遇到的问题
1.头文件找不到原创 2014-07-20 15:30:19 · 1145 阅读 · 0 评论 -
二级指针和数组
1。int a[5]a是数组首元素的地址,一个常量指针,步长是一个元素的长度即int-4个字节 &a是数组的地址,在数值上与a-首元素的地址相等,但是步长是整个数组的长度5*4个字节所以在数值上 a == &a 但是a+1 != &a+1 a+1移动四个字节,&a+1移动5*4个字节2.int (*p)[5]p是一个指向int [5] 类型的指针,步长为i原创 2014-09-03 17:03:04 · 595 阅读 · 0 评论 -
数组与指针
1。int a[5]a是数组原创 2014-09-03 17:00:25 · 475 阅读 · 0 评论 -
Qt编程
1.widget 作为窗体单独单独使用,没有设置原创 2014-10-22 16:54:16 · 664 阅读 · 0 评论 -
mutext锁
mutext是进程级别的进程A的子线程b的加锁,则这个进程A也是加锁状态,进程A的子线程a调用fork后产生子进程B会复制当前调用fork的子线程a的资源-继承父进程A的加锁状态(即使加锁是在另外一个子线程b中加的)。原创 2015-01-31 09:55:05 · 741 阅读 · 0 评论 -
使用PRId64
int64_t用来表示64位整数,在32位系统中是long long int,在64位系统中是long int,所以打印int64_t的格式化方法是:printf(“%ld”, value); // 64bit OSprintf("%lld", value); // 32bit OS跨平台的做法:#define __STDC_FORMAT_MACROS#include转载 2015-01-22 15:39:35 · 904 阅读 · 0 评论 -
函数调用约定(注意c++普通函数成员调用时有this参数)
在编写c++程序时如调用函数int pthread_create(pthread_t *tidp,const pthread_attr_t *attr, (void*)(*start_rtn)(void*),void *arg);参数start_rtn 方法是cdecl调用约定即c调用约定( C/C++ 语言缺省的调用约定),所以我们不能传递c++普通函数成员,因为c++普通函数成员会传递原创 2015-01-21 15:46:55 · 1475 阅读 · 0 评论 -
学习《c++ Primer》笔记
1.内置对象是否自动初始化原创 2015-01-22 15:36:19 · 482 阅读 · 0 评论 -
定时器
linux三种定时方式原创 2015-01-22 15:38:25 · 509 阅读 · 0 评论 -
定时函数
定时函数,用于让程序等待一段时间或安排计划任务首选timerfd_* 的原因:sleep / alarm / usleep 在实现时有可能用了信号 SIGALRM,在多线程程序中处理信号是个相当麻烦的事情,应当尽量避免nanosleep 和 clock_nanosleep 是线程安全的,但是在非阻塞网络编程中,绝对不能用让线程挂起的方式来等待一段时间,程序会失去响应。正确的做法是注转载 2015-03-03 15:24:37 · 784 阅读 · 0 评论 -
TCP网络编程最本质是的处理三个半事件
TCP网络编程最本质是的处理三个半事件 连接建立:服务器accept(被动)接受连接,客户端connect(主动)发起连接 连接断开:主动断开(close、shutdown),被动断开(read返回0) 消息到达:文件描述符可读 消息发送完毕:这算半个。对于低流量的服务,可不必关心这个事件;这里的发送完毕是指数据写入操作系统缓冲区,将由TCP协议栈负责数据的发送与重传,不代表对方已转载 2015-03-03 09:11:42 · 1418 阅读 · 0 评论 -
c++可变类型
可变类型解决方案1.void*. 这种方法不是类型安全的2. boost::any任意类型的类型安全存储以及安全的取回在标准库容器中存放不同类型的方法,比如说vector转载 2015-03-06 15:19:54 · 2150 阅读 · 0 评论 -
借shared_ptr实现copy on write 以减少锁的使用
shared_ptr是引用计数智能指针,如果当前只有一个观察者,那么引用计数为1,可以用shared_ptr::unique()来判断对于write端,如果发现引用计数为1,这时可以安全地修改对象,不必担心有人在读它。对于read端,在读之前把引用计数加1,读完之后减1,这样可以保证在读的期间其引用计数大于1,可以阻止并发写。比较难的是,对于write端,如果发现引用计数大于1,该如何转载 2015-03-11 09:33:30 · 578 阅读 · 0 评论 -
STL中的容器对比
1.序列式容器容器内部各个元素的位置取决插入的方式,与元素本身无关vector :动态数组,连续存储deque:双端队列,分片连续存储list:双向链表2.关联容器容器内部元素的位置取决于特定的排序和元素值本身 set,multiset:内部数据组织采用红黑树(一种严格意义上的平衡二叉树).map存储key-value对,按key排序,map的内部数据结构也原创 2015-03-31 10:25:43 · 443 阅读 · 0 评论 -
c++虚继承
转自:http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/05/2537451.html1.为什么要引入虚拟继承虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继转载 2015-03-23 21:44:58 · 400 阅读 · 0 评论 -
c++ 虚函数
虚继承#include using namespace std;class Parent{public: void func(int i){ cout << "Parent::func(int i)" << endl; } virtual void func2() { cout << "Parent::func2()" << endl; } virtual vo原创 2015-03-22 22:31:50 · 426 阅读 · 0 评论 -
线程进程通知
进程线程的等待通知:pipe :单向socketpair:双向eventfdeventfd 是一个比 pipe 更高效的线程间事件通知机制,一方面它比 pipe 少用一个 file descripor,节省了资源;另一方面,eventfd 的缓冲区管理也简单得多,全部“buffer” 只有定长8 bytes,不像 pipe 那样可能有不定长的真正 buffer。线程转载 2015-03-04 10:50:03 · 768 阅读 · 0 评论 -
Leetcode-Two Sum
class Solution {public: vector twoSum(vector &numbers, int target) { int i, sum; vector results; map hmap; for(i=0; i<numbers.size(); i++){ if(!hmap.co转载 2015-04-29 21:09:01 · 525 阅读 · 0 评论 -
你应该知道的浮点数基础知识
你应该知道的浮点数基础知识本文从一个有趣而又令人意外的实验展开,介绍一些关于浮点数你应该知道的基础知识文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部作者:卢钧轶(cenalulu)本文原文地址:http://cenalulu.github.io/linux/about-denormalized-float-number/一个有趣的实验本文转载 2015-04-28 20:40:26 · 894 阅读 · 0 评论 -
Leetcode- Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. Fo原创 2015-05-05 21:49:32 · 459 阅读 · 0 评论 -
leetcode - Longest Common Prefix
求最长前缀#include #include #include using namespace std;class Solution {public: string longestCommonPrefix(vector& strs) { int i=0; int index=0; int lenth原创 2015-05-27 22:31:53 · 430 阅读 · 0 评论 -
leetcode - Integer to Roman 与 Roman to Integer
Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.#include #include using namespace std;class Solution {public: string int原创 2015-05-27 15:13:45 · 444 阅读 · 0 评论 -
leetcode - Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.#include #include #include using namespace std;class Solution {public: bool isPalindrome(int x) {原创 2015-05-19 22:41:01 · 814 阅读 · 0 评论 -
leetcode 31:Next Permutation 原理剖析
转自 http://blog.csdn.net/qq575787460/article/details/41215475最近刷leetcode的时候遇见next permutation这道题,感觉挺有意思的一个题目,递归的方法是较简单并且容易想到的,在网上搜了其余的解法,就是std::next_permutation非递归解法,但是让人不是很舒服的就是关于原理的部分,千篇一律的都是摘抄《S转载 2015-06-25 22:53:44 · 543 阅读 · 0 评论 -
leetcode 29:Divide Two Integers
class Solution {public: int divide(int dividend, int divisor) { long long int ret=0; long long int cpEnd=dividend>=0?dividend:-(long long int)dividend; long long int cpO原创 2015-06-24 21:00:22 · 467 阅读 · 0 评论 -
leetcode - String to Integer (atoi)
Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input ca原创 2015-05-19 20:27:53 · 422 阅读 · 0 评论 -
leetcode - Reverse Integer
Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321class Solution {public: int reverse(int x) { char flag=0; int va原创 2015-05-18 21:52:33 · 396 阅读 · 0 评论 -
leetcode 30:Substring with Concatenation of All Words
You are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of substring(s) in s that is a concatenation of each word in wordsexactly once and w原创 2015-06-25 20:37:00 · 391 阅读 · 0 评论 -
leetcode - 3Sum ( kSum )
转自:http://tech-wonderland.net/blog/summary-of-ksum-problems.html(中文旧版)前言:做过leetcode的人都知道, 里面有2sum, 3sum(closest), 4sum等问题, 这些也是面试里面经典的问题, 考察是否能够合理利用排序这个性质, 一步一步得到高效的算法. 经过总结, 本人觉得这些问题都可以使用一个通用的K s转载 2015-06-04 20:05:22 · 512 阅读 · 0 评论 -
leetcode - 3Sum Closest (kSum Closest)
Sum ClosestGiven an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would原创 2015-06-05 22:06:13 · 579 阅读 · 0 评论 -
leetcode 32 : Longest Valid Parentheses
#include #include #include using namespace std;class Solution {public: int longestValidParentheses(string s) { string strStack=""; vector indexVec; int i=原创 2015-06-26 18:57:54 · 427 阅读 · 0 评论 -
leetcode 33 Search in Rotated Sorted Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).You are given a target value to search. If found in the array retur原创 2015-06-27 21:25:54 · 389 阅读 · 0 评论 -
leetcode - Letter Combinations of a Phone Number
Given a digit string, return all possible letter combinations that the number could represent.A mapping of digit to letters (just like on the telephone buttons) is given below.Input:Digit st原创 2015-06-07 22:26:04 · 385 阅读 · 0 评论 -
leetcode - 4Sum
Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.Note:Element原创 2015-06-09 21:37:36 · 437 阅读 · 0 评论 -
leetcode 37:Sudoku Solver
https://leetcode.com/problems/sudoku-solver/{CSDN:CODE:724772}原创 2015-06-30 16:23:41 · 412 阅读 · 0 评论 -
leetcode 47 : Permutations II
Given a collection of numbers that might contain duplicates, return all possible unique permutations.For example,[1,1,2] have the following unique permutations:[1,1,2], [1,2,1], and [2,1,1].转载 2015-07-08 17:26:18 · 471 阅读 · 0 评论 -
leetcode 39 : Combination Sum
Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.The same repeated number may be chosen from C unlimited numb原创 2015-07-01 21:56:04 · 358 阅读 · 0 评论 -
leetcode 53: Maximum Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [−2,1,−3,4,−1,2,1,−5,4],the contiguous subarray [4,−1,2,1] ha原创 2015-07-09 20:04:01 · 492 阅读 · 0 评论 -
leetcode 60:Permutation Sequence
[cpp] view plaincopypublic class Solution { public String getPermutation(int n, int k) { StringBuilder sb = new StringBuilder(); for(int i=1; i转载 2015-07-10 16:24:08 · 444 阅读 · 0 评论 -
leetcode 54 : Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.For example,Given the following matrix:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]原创 2015-07-10 10:33:21 · 499 阅读 · 0 评论