- 博客(13)
- 资源 (6)
- 收藏
- 关注
转载 函数调用的区别:_cdecl以及_stdcall
一、概念 1)_stdcall调用 _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,由调用者完成压栈操作,被调函数自身在返回前清空堆栈。 WIN32 Api都采用_stdcall调用方式,这样的宏定义说明了问题: #define WINAPI _stdcall 按C编译方式,_stdcall调用约定在输出函数名前面加下划线,后面加
2016-02-21 11:03:43 308
转载 为什么构造函数不能为虚函数
1,从存储空间角度 虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。 2,从使用角度 虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数
2016-02-21 10:34:47 363
转载 程序员面试笔试宝典学习记录(一)(常见面试笔试题目)
摘选著名的互联网企业的面试笔试真题: 1.extern的作用 自己理解:应该需要区分extern在C语言中和C++语言中的作用,C语言中extern声明的函数和变量可以被该文件外部模块引用,C++语言中除了该作用还可以声明extern “C”声明一段代码编译连接的方法为C语言的方法。 参考:其实extern的百度词条解释的很清楚,具体的也是跟我上面自己理解差别不是很大。 (a) exter
2016-02-21 10:21:31 385
转载 寻找最大的K个数,Top K问题的堆实现
寻找最大的K个数,Top K问题的堆实现寻找最大的K个数,如果所有的数据全部可以放入内存,就可以使用random select算法在线性时间内寻找第K大的数,再得到最大的K个数。
2016-02-21 09:29:48 362
转载 If-else与三目运算符的区别
某日一个同学在做算法题,(旅游背包)在OJ系统提交时超时 我们在设法优化代码减少运行时间时,发现貌似If-else比三目运算?: 更快一点。 于是,用VC写了一段简短的测试。同样是双重循环中执行 if-else与三目运算,计算其花费的时间。 a=100,b=50,n为测试变量 start=clock(); for(i=1;i { for(j=1;j {
2016-02-20 23:52:46 500
转载 C/C++程序员应聘常见面试题剖析
1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出
2016-02-20 18:38:04 235
转载 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
实参时丢弃了类型限定 原因 编译错误: 将'const xxx'作为'xxx'的'this'实参时丢弃了类型限定。 这样的错误一般是因为const限定符的问题。如: #include #include #include #include using namespace std; class A { public: st
2016-02-20 17:36:21 1961
转载 cc、gcc、g++、CC的区别概括
gcc是C编译器;g++是C++编译器;linux下cc一般是一个符号连接,指向gcc;gcc和g++都是GUN(组织)的编译器。而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点一定要注意。 cc是Unix系统的C Compiler,而gcc则是GNU Compiler Collection,GNU编译器套装。gcc原名为Gun
2016-02-20 11:30:21 698
转载 程序员面试常见问题及回答技巧
1.如果我们不能提供你所要求的薪水,你还愿意来我们公司吗?你的期望薪水是多少?你想得到的薪水是多 少?如果达不到你的要求,怎么办? 答:我认为工作最重要的是合作开心,薪酬是其次的,不过我原来的月薪是××元,如果跳槽的话就希望 自己能有点进步,如果不是让您太为难的话,您看这个工资是不是可以有一点提高? 2.你有哪些主要的缺点? 分析:这是个棘手的问题。若照实的回答,你会毁了工作,雇主试图使你处
2016-02-20 10:17:51 747
转载 多线程下变量-原子操作 sync_fetch_and_add等等
最近编码需要实现多线程环境下的计数器操作,统计相关事件的次数。下面是一些学习心得和体会。不敢妄称原创,基本是学习笔记。遇到相关的引用,我会致谢。 当然我们知道,count++这种操作不是原子的。一个自加操作,本质是分成三步的: 1 从缓存取到寄存器 2 在寄存器加1 3 存入缓存。 由于时序的因素,多个线程操作同一个全局变量,会出现问题。
2016-01-19 00:27:33 310
原创 解决undefined reference to 'pthread_create'问题
问题分析: pthread 在链接时需要使用静态库 libpthread.a,因为它不是系统默认的库。 问题解决: 我们需要在编译中要加 -lpthread参数: #include gcc thread.c -o thread -lpthread g++ thread.cpp -o thread -lphread
2016-01-19 00:25:18 527
转载 MySQL外键设置中的的 Cascade、NO ACTION、Restrict、SET NULL
. cascade方式 在父表上update/delete记录时,同步update/delete掉子表的匹配记录 . set null方式 在父表上update/delete记录时,将子表上匹配记录的列设为null 要注意子表的外键列不能为not null . No action方式 如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delet
2015-12-27 14:09:36 234
转载 /bin/bash^M: bad interpreter: 没有那个文件或目录
运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就是linux和windows之间的不完全兼容。。。 具体细节不管,如果验证: vim test.sh :set ff? 如果出现fileforma=dos那么就基本可以确定是这个问题了。 :set fileformat=unix :wq O
2015-05-17 17:29:42 593
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人