此段是可以生成程序的完整代码,只有从坐标(10,10,10)到(500,500,500)一根刀轨。motion_ptr->feed_value 的值为0时生成G00,非0时生成G01。此代码只有直线,生成圆弧的方法类似,可参考open-api函数库里的ufd_cam_udop.c文件。加工CAM的入...
分类:
其他好文 时间:
2015-07-22 18:03:06
阅读次数:
557
//简单模拟实现boost库下的shared_ptr
#include
#include
using namespace std;
class shared_ptr_Rep
{
friend class shared_ptr;
public:
shared_ptr_Rep(const char *str = " ") :count(0)
{
px = new char[st...
分类:
编程语言 时间:
2015-07-22 10:55:25
阅读次数:
141
1. 智能指针(Smart Pointer)i.是存储指向动态分配(堆)对象指针的类ii.在面对异常的时候格外有用,因为他们能够确保正确的销毁动态分配的对象iii.RAII类模拟智能指针,见备注2. C++11提供了以下几种智能指针,位于头文件,它们都是模板类i.std::auto_ptr(复制/赋...
分类:
编程语言 时间:
2015-07-21 22:07:28
阅读次数:
212
我的经验:在强调运行效率的场合:shared_ptr/weak_ptr很好用,尤其是weak_ptr这个能够判断一个对象的生命周期的玩意,可以简化和扩展很多设计。unordered系列的容器也很不错。thread+function+bind是异步编程的利器。signal:这个因为个人比较喜事件驱动这...
分类:
其他好文 时间:
2015-07-20 09:10:22
阅读次数:
123
看到一道题说栈中连续定义一个指针和一个数组,类似于这样
{
char *ptr = 指向一个字符数组;
char buf[8];
gets(buf);
strncpy(ptr,buf,8);
}
当修改buf数组时发生越界会修改ptr指针的指向,这设计到程序健壮性的问题。
当我用VS2013尝试这段代码时,诡异的事情发生了,明明输入了多于8个的字符,但是ptr的指向并没有改...
分类:
编程语言 时间:
2015-07-19 10:21:15
阅读次数:
136
指针每次加一就是指针向前移动指针类型对应的字节数。下面通过一个int指针来指向一个int数组,看看指针的加法运算到底是个什么鬼?可以看到,指针的加法就是向前移动指定类型字节数,在数组中就是指向下一个元素。下面再来看看与加法相反的减法,仍然以上面的代码为例,新增一句:ptr--;
分类:
移动开发 时间:
2015-07-19 06:37:52
阅读次数:
171
对象池的实现其实是非常简单的
思想也是很简单的:
用一个队列来存放所有的对象,需要时get一个对象,从队列头取一个对象,当用完后,重新将该对象投入到队列尾部。
#ifndef OBJ_POOL_H_
#define OBJ_POOL_H_
#include
#include
#include
using std::queue;
using std::shared_ptr;...
分类:
编程语言 时间:
2015-07-18 17:03:44
阅读次数:
121
//模拟实现boost下的scoped_ptr
#include
#include
using namespace std;
template
class scoped_ptr
{
private:
T * px;
scoped_ptr(scoped_ptr const &);
scoped_ptr& operator=(scoped_ptr const &);
void ...
分类:
编程语言 时间:
2015-07-17 12:01:02
阅读次数:
157